安卓去除apk的签名检查

来源:互联网 发布:php tools for vs2015 编辑:程序博客网 时间:2024/05/18 20:08

平台: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;-            }+            }*/