天天看點

安卓去除apk的簽名檢查

平台:IMX6

OS :安卓4.4.2

--- a/base/services/java/com/android/server/pm/PackageManagerService.java
+++ b/base/services/java/com/android/server/pm/PackageManagerService.java
@@ -3776,16 +3776,16 @@ public class PackageManagerService extends IPackageManager.Stub {
             PackageParser.Package pkg) {
         if (pkgSetting.signatures.mSignatures != null) {
             // Already existing package. Make sure signatures match
-            if (compareSignatures(pkgSetting.signatures.mSignatures, pkg.mSignatures) !=
+            /*if (compareSignatures(pkgSetting.signatures.mSignatures, pkg.mSignatures) !=
                 PackageManager.SIGNATURE_MATCH) {
                     Slog.e(TAG, "Package " + pkg.packageName
                             + " signatures do not match the previously installed version; ignoring!");
                     mLastScanError = PackageManager.INSTALL_FAILED_UPDATE_INCOMPATIBLE;
                     return false;
-                }
+                }*/
         }
         // Check for shared user signatures
-        if (pkgSetting.sharedUser != null && pkgSetting.sharedUser.signatures.mSignatures != null) {
+        /*if (pkgSetting.sharedUser != null && pkgSetting.sharedUser.signatures.mSignatures != null) {
             if (compareSignatures(pkgSetting.sharedUser.signatures.mSignatures,
                     pkg.mSignatures) != PackageManager.SIGNATURE_MATCH) {
                 Slog.e(TAG, "Package " + pkg.packageName
@@ -3794,7 +3794,7 @@ public class PackageManagerService extends IPackageManager.Stub {
                 mLastScanError = PackageManager.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE;
                 return false;
             }
-        }
+        }*/
         return true;
     }
 
@@ -8666,12 +8666,12 @@ public class PackageManagerService extends IPackageManager.Stub {
         synchronized(mPackages) {
             oldPackage = mPackages.get(pkgName);
             if (DEBUG_INSTALL) Slog.d(TAG, "replacePackageLI: new=" + pkg + ", old=" + oldPackage);
-            if (compareSignatures(oldPackage.mSignatures, pkg.mSignatures)
+            /*if (compareSignatures(oldPackage.mSignatures, pkg.mSignatures)
                     != PackageManager.SIGNATURE_MATCH) {
                 Slog.w(TAG, "New package has a different signature: " + pkgName);
                 res.returnCode = PackageManager.INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES;
                 return;
-            }
+            }*/