Android 防止PC端第三方流氓軟體強制安裝apk至android裝置
阿新 • • 發佈:2019-02-11
--- a/services/java/com/android/server/pm/PackageManagerService.java
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -4017,7 +4018,16 @@ public class PackageManagerService extends IPackageManager.Stub {
private int createDataDirsLI(String packageName, int uid, String seinfo) {
int[] users = sUserManager.getUserIds();
- int res = mInstaller.install(packageName, uid, uid, seinfo);
+ int res;
+ for (int index = 0; index < PackageManager.NO_PERMISSION_PACKAGE_LIST.length; index ++) {
+ if (packageName.indexOf(PackageManager.NO_PERMISSION_PACKAGE_LIST[index]) != -1) {
+ return PackageManager.INSTALL_FAILED_INVALID_APK;
+ }
+ }
+ res = mInstaller.install(packageName, uid, uid, seinfo);
if (res < 0) {
return res;
}
+++ b/services/java/com/android/server/pm/PackageManagerService.java
@@ -4017,7 +4018,16 @@ public class PackageManagerService extends IPackageManager.Stub {
private int createDataDirsLI(String packageName, int uid, String seinfo) {
int[] users = sUserManager.getUserIds();
- int res = mInstaller.install(packageName, uid, uid, seinfo);
+ int res;
+ for (int index = 0; index < PackageManager.NO_PERMISSION_PACKAGE_LIST.length; index ++) {
+ if (packageName.indexOf(PackageManager.NO_PERMISSION_PACKAGE_LIST[index]) != -1) {
+ return PackageManager.INSTALL_FAILED_INVALID_APK;
+ }
+ }
+ res = mInstaller.install(packageName, uid, uid, seinfo);
if (res < 0) {
return res;
}