安卓禁止apk安装
安卓禁止单个apk安装
frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.java
@@ -10809,7 +10809,10 @@ public class PackageManagerService extends IPackageManager.Stub {
? "null" : pkg.manifestDigest.toString();
Slog.d(TAG, "manifestDigest was not present, but parser got: " + parsedManifest);
}
-
+ if (pkgName.contains("com.google.android.apps.meetings")) {//需要禁止安装的包名
+ res.setError(INSTALL_FAILED_USER_RESTRICTED, "disallow unkown sources");//禁止安装后的提示语句
+ return;
+ }
// Get rid of all references to package scan path via parser.
pp = null;
String oldCodePath = null;
安卓禁止多个apk安装
frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -251,6 +251,7 @@ public class PackageManagerService extends IPackageManager.Stub {
private static final int BLUETOOTH_UID = Process.BLUETOOTH_UID;
private static final int SHELL_UID = Process.SHELL_UID;
+ private static boolean APK_install_finish = false;
// Cap the size of permission trees that 3rd party apps can define
private static final int MAX_PERMISSION_TREE_FOOTPRINT = 32768; // characters of text
@@ -1998,6 +1999,7 @@ public class PackageManagerService extends IPackageManager.Stub {
Slog.i(TAG, "Time to scan packages: "
+ ((SystemClock.uptimeMillis()-startTime)/1000f)
+ " seconds");
+ APK_install_finish = true;
// If the platform SDK has changed since the last time we booted,
// we need to re-grant app permission to catch any new ones that
@@ -5325,6 +5327,20 @@ public class PackageManagerService extends IPackageManager.Stub {
private int createDataDirsLI(String packageName, int uid, String seinfo) {
int[] users = sUserManager.getUserIds();
+ if(APK_install_finish)
+ {
+ if(packageName.contains("ru.andr7e.deviceinfohw")||
+ packageName.contains("com.specdevice")||
+ packageName.contains("com.abs.cpu_z_advance")||
+ packageName.contains("com.inkwired.droidinfo")||
+ packageName.contains("com.inpocketsoftware.andTest")||
+ packageName.contains("com.finalwire.aida64")||
+ packageName.contains("com.cpuid.cpu_z")||
+ packageName.contains("mark.fakedevicetest")){
+ return PackageManager.INSTALL_FAILED_VERIFICATION_FAILURE;
+ }else{
+ }
+ }
int res = mInstaller.install(packageName, uid, uid, seinfo);