绝对禁止安装:
在frameworks下修改:
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index e870f38..3b500d4 100755
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -13107,6 +13107,15 @@ public class PackageManagerService extends IPackageManager.Stub {
pkgLite = mContainerService.getMinimalPackageInfo(origin.resolvedPath, installFlags,
packageAbiOverride);
+ Log.i(TAG, "DICKE printk pkgLite.packageName = " + pkgLite.packageName);
+/*
+ if(pkgLite.packageName.equals("org.cocos2dx.FishGame")){
+// ret = PackageManager.INSTALL_FAILED_INVALID_INSTALL_LOCATION;
+ ret = PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE;
+ Log.i(TAG, "DICKE forbind install " + pkgLite.packageName);
+ }else
+ Log.i(TAG, "DICKE install " + pkgLite.packageName);
+*/
if (DEBUG_EPHEMERAL && ephemeral) {
Slog.v(TAG, "pkgLite for install: " + pkgLite);
}
在这里修改方法: public void handleStartCopy() throws RemoteException 。
用户层禁止安装(adb可以安装):
在PackageInstaller应用中,修改src/com/android/packageinstaller/PackageInstallerActivity.java,
修改点为private void initiateInstall()
参考:https://blog.csdn.net/m0_37039192/article/details/94558761