So, I found two models of TCL phones in my warehouse(which both run Android 11). I extracted the APK for settings and tried to install it on my phone, the same thing happened to both: First, it didn't let me because it was a downgrade (not even sure why that's a downgrade.) The I did ADB install -d which allows downgrade, but I got error that the signatures didn't match. And then out of curiosity, I tried to install one Smartphone's settings APK to the other smartphone, and it had the same error. I guess TCL signs all their APK's with different signature's (never had this issue with LG).

    I just tried the camera app from another phone and got the error Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]. I guess TCL signs all their com.tcl (very few exist) apps with same signature but not com.android

    They put a lot of hurdles to install APKs, and once you get past the hurdle, there's another one waiting. Hopefully there is a bright light at the end of the tunnel...

      SamFried

      darth I can disable apps: adb shell pm disable-user --user 0 org.chromium.chrome
      Disables the browser.

        We received the phones and are busy checking it out. So far the build quality looks really solid and the software is leaps and bounds ahead of kai os.

        • darthLevel 6 - Platinum Elite Member

          Biden2020prez [Login to see the link]

          [Login to see the link] I can disable apps: adb shell pm disable-user --user 0 org.chromium.chrome
          Disables the browser.

          To be on the safe side you may also want to disable Search: com.android.quicksearchbox
          Im not sure what the app does but it can be opened even if there is no browser.

            • darthLevel 6 - Platinum Elite Member

              Biden2020prez I did open it. It opens up a search bar that says "Google" on it. It didnt display any results when I searched but to be on the safe side I removed it from my phone.

                On which carrier is it running?

                im here in the catskills and only AT&t works here,,,,, can i use this phone?

                  SamFried It's on all the TracFone carriers (TracFone, Net10, Straight Talk, Total Wireless, etc.). TracFone does have an option to use AT&T towers, but it doesn't work on all phones, but I'm pretty sure it would on this one. [Login to see the link], which is why I assume it works on TracFone AT&T tower. I don't think AT&T sells this.

                    Ok, so one of our developers has pulled the framework files and reverse engineered the package manager code.

                    Here is the code blocking the install
                    try {
                    boolean equals = "userdebug".equals(SystemProperties.get("ro.build.type", ""));
                    if (!this.mIsEndurance && (!this.mGflip6Gc || !equals)) {
                    int i8 = Settings.System.getInt(this.mContext.getContentResolver(), INSTALL_ENABLE, 1);
                    this.mIntallSecretCode = i8;
                    if (!this.mIsAllowInstall) {
                    this.mIsAllowInstall = i8 == 0;
                    }
                    Log.i(TAG, "mIsAllowInstall= " + this.mIsAllowInstall + ",APK_INSTALL_FINISH" + this.APK_INSTALL_FINISH);
                    if (this.APK_INSTALL_FINISH) {
                    if (this.mIsMPBranch) {
                    packageInstalledInfo.setError(-22, "App forbidden installation " + parsePackage.getPackageName());
                    throw new PrepareFailure(-116, "App forbidden installation " + parsePackage.getPackageName());
                    } else if (!this.mIsAllowInstall) {
                    packageInstalledInfo.setError(-22, "App forbidden installation " + parsePackage.getPackageName());
                    throw new PrepareFailure(-116, "App forbidden installation " + parsePackage.getPackageName());
                    }
                    }
                    }

                      If you check logcat after installing a package you will see the App forbidden installation message

                      To set mIsAllowInstall to true, you can dial the secret code 2880 as seen in the code below which sets the property INSTALL_ENABLE to 0 which in turn sets mIsAllowInstall to true:

                      this.mContext.registerReceiver(new BroadcastReceiver() {
                      public void onReceive(Context context, Intent intent) {
                      if (intent != null) {
                      Uri data = intent.getData();
                      if (PackageManagerService.this.ALLOW_INSTALL.equals(data)) {
                      Settings.System.putInt(PackageManagerService.this.mContext.getContentResolver(), PackageManagerService.INSTALL_ENABLE, 0);
                      } else {
                      PackageManagerService.this.FORBIDDEN_INSTALL.equals(data);
                      }
                      }
                      }
                      }, intentFilter2);

                        The problem is the other variable which is checked - this.APK_INSTALL_FINISH this is set to false when the package manager service is initialized with no way to change the value!