Loading core/java/android/content/pm/ApplicationInfo.java +4 −4 Original line number Diff line number Diff line Loading @@ -455,7 +455,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * * {@hide} */ public String requiredCpuAbi; public String cpuAbi; /** * The kernel user-ID that has been assigned to this application; Loading Loading @@ -587,7 +587,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { sourceDir = orig.sourceDir; publicSourceDir = orig.publicSourceDir; nativeLibraryDir = orig.nativeLibraryDir; requiredCpuAbi = orig.requiredCpuAbi; cpuAbi = orig.cpuAbi; resourceDirs = orig.resourceDirs; seinfo = orig.seinfo; sharedLibraryFiles = orig.sharedLibraryFiles; Loading Loading @@ -628,7 +628,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { dest.writeString(sourceDir); dest.writeString(publicSourceDir); dest.writeString(nativeLibraryDir); dest.writeString(requiredCpuAbi); dest.writeString(cpuAbi); dest.writeStringArray(resourceDirs); dest.writeString(seinfo); dest.writeStringArray(sharedLibraryFiles); Loading Loading @@ -668,7 +668,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { sourceDir = source.readString(); publicSourceDir = source.readString(); nativeLibraryDir = source.readString(); requiredCpuAbi = source.readString(); cpuAbi = source.readString(); resourceDirs = source.readStringArray(); seinfo = source.readString(); sharedLibraryFiles = source.readStringArray(); Loading services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -2738,7 +2738,7 @@ public final class ActivityManagerService extends ActivityManagerNative debugFlags |= Zygote.DEBUG_ENABLE_ASSERT; } String requiredAbi = app.info.requiredCpuAbi; String requiredAbi = app.info.cpuAbi; if (requiredAbi == null) { requiredAbi = Build.SUPPORTED_ABIS[0]; } Loading services/core/java/com/android/server/pm/PackageManagerService.java +22 −22 Original line number Diff line number Diff line Loading @@ -2213,7 +2213,7 @@ public class PackageManagerService extends IPackageManager.Stub { pkg.applicationInfo.dataDir = getDataPathForPackage(packageName, 0).getPath(); pkg.applicationInfo.nativeLibraryDir = ps.nativeLibraryPathString; pkg.applicationInfo.requiredCpuAbi = ps.requiredCpuAbiString; pkg.applicationInfo.cpuAbi = ps.cpuAbiString; } return generatePackageInfo(pkg, flags, userId); } Loading Loading @@ -4380,8 +4380,8 @@ public class PackageManagerService extends IPackageManager.Stub { private String getAppInstructionSet(ApplicationInfo info) { String instructionSet = getPreferredInstructionSet(); if (info.requiredCpuAbi != null) { instructionSet = VMRuntime.getInstructionSet(info.requiredCpuAbi); if (info.cpuAbi != null) { instructionSet = VMRuntime.getInstructionSet(info.cpuAbi); } return instructionSet; Loading @@ -4390,8 +4390,8 @@ public class PackageManagerService extends IPackageManager.Stub { private String getAppInstructionSetFromSettings(PackageSetting ps) { String instructionSet = getPreferredInstructionSet(); if (ps.requiredCpuAbiString != null) { instructionSet = VMRuntime.getInstructionSet(ps.requiredCpuAbiString); if (ps.cpuAbiString != null) { instructionSet = VMRuntime.getInstructionSet(ps.cpuAbiString); } return instructionSet; Loading Loading @@ -4779,7 +4779,7 @@ public class PackageManagerService extends IPackageManager.Stub { // the PkgSetting exists already and doesn't have to be created. pkgSetting = mSettings.getPackageLPw(pkg, origPackage, realName, suid, destCodeFile, destResourceFile, pkg.applicationInfo.nativeLibraryDir, pkg.applicationInfo.requiredCpuAbi, pkg.applicationInfo.cpuAbi, pkg.applicationInfo.flags, user, false); if (pkgSetting == null) { Slog.w(TAG, "Creating application package " + pkg.packageName + " failed"); Loading Loading @@ -5107,9 +5107,9 @@ public class PackageManagerService extends IPackageManager.Stub { // We've successfully copied native libraries across, so we make a // note of what ABI we're using if (copyRet != PackageManager.NO_NATIVE_LIBRARIES) { pkg.applicationInfo.requiredCpuAbi = Build.SUPPORTED_ABIS[copyRet]; pkg.applicationInfo.cpuAbi = Build.SUPPORTED_ABIS[copyRet]; } else { pkg.applicationInfo.requiredCpuAbi = null; pkg.applicationInfo.cpuAbi = null; } } catch (IOException e) { Slog.e(TAG, "Unable to copy native libraries", e); Loading @@ -5127,12 +5127,12 @@ public class PackageManagerService extends IPackageManager.Stub { final NativeLibraryHelper.ApkHandle handle = new NativeLibraryHelper.ApkHandle(scanFile); final int abi = NativeLibraryHelper.findSupportedAbi(handle, Build.SUPPORTED_ABIS); if (abi >= 0) { pkg.applicationInfo.requiredCpuAbi = Build.SUPPORTED_ABIS[abi]; pkg.applicationInfo.cpuAbi = Build.SUPPORTED_ABIS[abi]; } else if (abi == PackageManager.NO_NATIVE_LIBRARIES) { // Note that (non upgraded) system apps will not have any native // libraries bundled in their APK, but we're guaranteed not to be // such an app at this point. pkg.applicationInfo.requiredCpuAbi = null; pkg.applicationInfo.cpuAbi = null; } else { mLastScanError = PackageManager.INSTALL_FAILED_INTERNAL_ERROR; return null; Loading Loading @@ -5641,8 +5641,8 @@ public class PackageManagerService extends IPackageManager.Stub { String requiredInstructionSet = null; PackageSetting requirer = null; for (PackageSetting ps : packagesForUser) { if (ps.requiredCpuAbiString != null) { final String instructionSet = VMRuntime.getInstructionSet(ps.requiredCpuAbiString); if (ps.cpuAbiString != null) { final String instructionSet = VMRuntime.getInstructionSet(ps.cpuAbiString); if (requiredInstructionSet != null) { if (!instructionSet.equals(requiredInstructionSet)) { // We have a mismatch between instruction sets (say arm vs arm64). Loading Loading @@ -5670,11 +5670,11 @@ public class PackageManagerService extends IPackageManager.Stub { if (requiredInstructionSet != null) { for (PackageSetting ps : packagesForUser) { if (ps.requiredCpuAbiString == null) { ps.requiredCpuAbiString = requirer.requiredCpuAbiString; if (ps.cpuAbiString == null) { ps.cpuAbiString = requirer.cpuAbiString; if (ps.pkg != null) { ps.pkg.applicationInfo.requiredCpuAbi = requirer.requiredCpuAbiString; Slog.i(TAG, "Adjusting ABI for : " + ps.name + " to " + ps.requiredCpuAbiString); ps.pkg.applicationInfo.cpuAbi = requirer.cpuAbiString; Slog.i(TAG, "Adjusting ABI for : " + ps.name + " to " + ps.cpuAbiString); if (doDexOpt) { performDexOptLI(ps.pkg, forceDexOpt, deferDexOpt, true); mInstaller.rmdex(ps.codePathString, getPreferredInstructionSet()); Loading Loading @@ -5777,15 +5777,15 @@ public class PackageManagerService extends IPackageManager.Stub { // Assume that the bundled native libraries always correspond to the // most preferred 32 or 64 bit ABI. if (lib64.exists()) { pkg.applicationInfo.requiredCpuAbi = Build.SUPPORTED_64_BIT_ABIS[0]; pkgSetting.requiredCpuAbiString = Build.SUPPORTED_64_BIT_ABIS[0]; pkg.applicationInfo.cpuAbi = Build.SUPPORTED_64_BIT_ABIS[0]; pkgSetting.cpuAbiString = Build.SUPPORTED_64_BIT_ABIS[0]; } else if (lib.exists()) { pkg.applicationInfo.requiredCpuAbi = Build.SUPPORTED_32_BIT_ABIS[0]; pkgSetting.requiredCpuAbiString = Build.SUPPORTED_32_BIT_ABIS[0]; pkg.applicationInfo.cpuAbi = Build.SUPPORTED_32_BIT_ABIS[0]; pkgSetting.cpuAbiString = Build.SUPPORTED_32_BIT_ABIS[0]; } else { // This is the case where the app has no native code. pkg.applicationInfo.requiredCpuAbi = null; pkgSetting.requiredCpuAbiString = null; pkg.applicationInfo.cpuAbi = null; pkgSetting.cpuAbiString = null; } } Loading services/core/java/com/android/server/pm/PackageSetting.java +2 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,8 @@ final class PackageSetting extends PackageSettingBase { SharedUserSetting sharedUser; PackageSetting(String name, String realName, File codePath, File resourcePath, String nativeLibraryPathString, String requiredCpuAbiString, int pVersionCode, int pkgFlags) { super(name, realName, codePath, resourcePath, nativeLibraryPathString, requiredCpuAbiString, pVersionCode, String nativeLibraryPathString, String cpuAbiString, int pVersionCode, int pkgFlags) { super(name, realName, codePath, resourcePath, nativeLibraryPathString, cpuAbiString, pVersionCode, pkgFlags); } Loading services/core/java/com/android/server/pm/PackageSettingBase.java +6 −6 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ class PackageSettingBase extends GrantedPermissions { File resourcePath; String resourcePathString; String nativeLibraryPathString; String requiredCpuAbiString; String cpuAbiString; long timeStamp; long firstInstallTime; long lastUpdateTime; Loading Loading @@ -81,11 +81,11 @@ class PackageSettingBase extends GrantedPermissions { /* package name of the app that installed this package */ String installerPackageName; PackageSettingBase(String name, String realName, File codePath, File resourcePath, String nativeLibraryPathString, String requiredCpuAbiString, int pVersionCode, int pkgFlags) { String nativeLibraryPathString, String cpuAbiString, int pVersionCode, int pkgFlags) { super(pkgFlags); this.name = name; this.realName = realName; init(codePath, resourcePath, nativeLibraryPathString, requiredCpuAbiString, pVersionCode); init(codePath, resourcePath, nativeLibraryPathString, cpuAbiString, pVersionCode); } /** Loading @@ -102,7 +102,7 @@ class PackageSettingBase extends GrantedPermissions { resourcePath = base.resourcePath; resourcePathString = base.resourcePathString; nativeLibraryPathString = base.nativeLibraryPathString; requiredCpuAbiString = base.requiredCpuAbiString; cpuAbiString = base.cpuAbiString; timeStamp = base.timeStamp; firstInstallTime = base.firstInstallTime; lastUpdateTime = base.lastUpdateTime; Loading Loading @@ -136,7 +136,7 @@ class PackageSettingBase extends GrantedPermissions { this.resourcePath = resourcePath; this.resourcePathString = resourcePath.toString(); this.nativeLibraryPathString = nativeLibraryPathString; this.requiredCpuAbiString = requiredCpuAbiString; this.cpuAbiString = requiredCpuAbiString; this.versionCode = pVersionCode; } Loading Loading @@ -167,7 +167,7 @@ class PackageSettingBase extends GrantedPermissions { grantedPermissions = base.grantedPermissions; gids = base.gids; requiredCpuAbiString = base.requiredCpuAbiString; cpuAbiString = base.cpuAbiString; timeStamp = base.timeStamp; firstInstallTime = base.firstInstallTime; lastUpdateTime = base.lastUpdateTime; Loading Loading
core/java/android/content/pm/ApplicationInfo.java +4 −4 Original line number Diff line number Diff line Loading @@ -455,7 +455,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { * * {@hide} */ public String requiredCpuAbi; public String cpuAbi; /** * The kernel user-ID that has been assigned to this application; Loading Loading @@ -587,7 +587,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { sourceDir = orig.sourceDir; publicSourceDir = orig.publicSourceDir; nativeLibraryDir = orig.nativeLibraryDir; requiredCpuAbi = orig.requiredCpuAbi; cpuAbi = orig.cpuAbi; resourceDirs = orig.resourceDirs; seinfo = orig.seinfo; sharedLibraryFiles = orig.sharedLibraryFiles; Loading Loading @@ -628,7 +628,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { dest.writeString(sourceDir); dest.writeString(publicSourceDir); dest.writeString(nativeLibraryDir); dest.writeString(requiredCpuAbi); dest.writeString(cpuAbi); dest.writeStringArray(resourceDirs); dest.writeString(seinfo); dest.writeStringArray(sharedLibraryFiles); Loading Loading @@ -668,7 +668,7 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable { sourceDir = source.readString(); publicSourceDir = source.readString(); nativeLibraryDir = source.readString(); requiredCpuAbi = source.readString(); cpuAbi = source.readString(); resourceDirs = source.readStringArray(); seinfo = source.readString(); sharedLibraryFiles = source.readStringArray(); Loading
services/core/java/com/android/server/am/ActivityManagerService.java +1 −1 Original line number Diff line number Diff line Loading @@ -2738,7 +2738,7 @@ public final class ActivityManagerService extends ActivityManagerNative debugFlags |= Zygote.DEBUG_ENABLE_ASSERT; } String requiredAbi = app.info.requiredCpuAbi; String requiredAbi = app.info.cpuAbi; if (requiredAbi == null) { requiredAbi = Build.SUPPORTED_ABIS[0]; } Loading
services/core/java/com/android/server/pm/PackageManagerService.java +22 −22 Original line number Diff line number Diff line Loading @@ -2213,7 +2213,7 @@ public class PackageManagerService extends IPackageManager.Stub { pkg.applicationInfo.dataDir = getDataPathForPackage(packageName, 0).getPath(); pkg.applicationInfo.nativeLibraryDir = ps.nativeLibraryPathString; pkg.applicationInfo.requiredCpuAbi = ps.requiredCpuAbiString; pkg.applicationInfo.cpuAbi = ps.cpuAbiString; } return generatePackageInfo(pkg, flags, userId); } Loading Loading @@ -4380,8 +4380,8 @@ public class PackageManagerService extends IPackageManager.Stub { private String getAppInstructionSet(ApplicationInfo info) { String instructionSet = getPreferredInstructionSet(); if (info.requiredCpuAbi != null) { instructionSet = VMRuntime.getInstructionSet(info.requiredCpuAbi); if (info.cpuAbi != null) { instructionSet = VMRuntime.getInstructionSet(info.cpuAbi); } return instructionSet; Loading @@ -4390,8 +4390,8 @@ public class PackageManagerService extends IPackageManager.Stub { private String getAppInstructionSetFromSettings(PackageSetting ps) { String instructionSet = getPreferredInstructionSet(); if (ps.requiredCpuAbiString != null) { instructionSet = VMRuntime.getInstructionSet(ps.requiredCpuAbiString); if (ps.cpuAbiString != null) { instructionSet = VMRuntime.getInstructionSet(ps.cpuAbiString); } return instructionSet; Loading Loading @@ -4779,7 +4779,7 @@ public class PackageManagerService extends IPackageManager.Stub { // the PkgSetting exists already and doesn't have to be created. pkgSetting = mSettings.getPackageLPw(pkg, origPackage, realName, suid, destCodeFile, destResourceFile, pkg.applicationInfo.nativeLibraryDir, pkg.applicationInfo.requiredCpuAbi, pkg.applicationInfo.cpuAbi, pkg.applicationInfo.flags, user, false); if (pkgSetting == null) { Slog.w(TAG, "Creating application package " + pkg.packageName + " failed"); Loading Loading @@ -5107,9 +5107,9 @@ public class PackageManagerService extends IPackageManager.Stub { // We've successfully copied native libraries across, so we make a // note of what ABI we're using if (copyRet != PackageManager.NO_NATIVE_LIBRARIES) { pkg.applicationInfo.requiredCpuAbi = Build.SUPPORTED_ABIS[copyRet]; pkg.applicationInfo.cpuAbi = Build.SUPPORTED_ABIS[copyRet]; } else { pkg.applicationInfo.requiredCpuAbi = null; pkg.applicationInfo.cpuAbi = null; } } catch (IOException e) { Slog.e(TAG, "Unable to copy native libraries", e); Loading @@ -5127,12 +5127,12 @@ public class PackageManagerService extends IPackageManager.Stub { final NativeLibraryHelper.ApkHandle handle = new NativeLibraryHelper.ApkHandle(scanFile); final int abi = NativeLibraryHelper.findSupportedAbi(handle, Build.SUPPORTED_ABIS); if (abi >= 0) { pkg.applicationInfo.requiredCpuAbi = Build.SUPPORTED_ABIS[abi]; pkg.applicationInfo.cpuAbi = Build.SUPPORTED_ABIS[abi]; } else if (abi == PackageManager.NO_NATIVE_LIBRARIES) { // Note that (non upgraded) system apps will not have any native // libraries bundled in their APK, but we're guaranteed not to be // such an app at this point. pkg.applicationInfo.requiredCpuAbi = null; pkg.applicationInfo.cpuAbi = null; } else { mLastScanError = PackageManager.INSTALL_FAILED_INTERNAL_ERROR; return null; Loading Loading @@ -5641,8 +5641,8 @@ public class PackageManagerService extends IPackageManager.Stub { String requiredInstructionSet = null; PackageSetting requirer = null; for (PackageSetting ps : packagesForUser) { if (ps.requiredCpuAbiString != null) { final String instructionSet = VMRuntime.getInstructionSet(ps.requiredCpuAbiString); if (ps.cpuAbiString != null) { final String instructionSet = VMRuntime.getInstructionSet(ps.cpuAbiString); if (requiredInstructionSet != null) { if (!instructionSet.equals(requiredInstructionSet)) { // We have a mismatch between instruction sets (say arm vs arm64). Loading Loading @@ -5670,11 +5670,11 @@ public class PackageManagerService extends IPackageManager.Stub { if (requiredInstructionSet != null) { for (PackageSetting ps : packagesForUser) { if (ps.requiredCpuAbiString == null) { ps.requiredCpuAbiString = requirer.requiredCpuAbiString; if (ps.cpuAbiString == null) { ps.cpuAbiString = requirer.cpuAbiString; if (ps.pkg != null) { ps.pkg.applicationInfo.requiredCpuAbi = requirer.requiredCpuAbiString; Slog.i(TAG, "Adjusting ABI for : " + ps.name + " to " + ps.requiredCpuAbiString); ps.pkg.applicationInfo.cpuAbi = requirer.cpuAbiString; Slog.i(TAG, "Adjusting ABI for : " + ps.name + " to " + ps.cpuAbiString); if (doDexOpt) { performDexOptLI(ps.pkg, forceDexOpt, deferDexOpt, true); mInstaller.rmdex(ps.codePathString, getPreferredInstructionSet()); Loading Loading @@ -5777,15 +5777,15 @@ public class PackageManagerService extends IPackageManager.Stub { // Assume that the bundled native libraries always correspond to the // most preferred 32 or 64 bit ABI. if (lib64.exists()) { pkg.applicationInfo.requiredCpuAbi = Build.SUPPORTED_64_BIT_ABIS[0]; pkgSetting.requiredCpuAbiString = Build.SUPPORTED_64_BIT_ABIS[0]; pkg.applicationInfo.cpuAbi = Build.SUPPORTED_64_BIT_ABIS[0]; pkgSetting.cpuAbiString = Build.SUPPORTED_64_BIT_ABIS[0]; } else if (lib.exists()) { pkg.applicationInfo.requiredCpuAbi = Build.SUPPORTED_32_BIT_ABIS[0]; pkgSetting.requiredCpuAbiString = Build.SUPPORTED_32_BIT_ABIS[0]; pkg.applicationInfo.cpuAbi = Build.SUPPORTED_32_BIT_ABIS[0]; pkgSetting.cpuAbiString = Build.SUPPORTED_32_BIT_ABIS[0]; } else { // This is the case where the app has no native code. pkg.applicationInfo.requiredCpuAbi = null; pkgSetting.requiredCpuAbiString = null; pkg.applicationInfo.cpuAbi = null; pkgSetting.cpuAbiString = null; } } Loading
services/core/java/com/android/server/pm/PackageSetting.java +2 −2 Original line number Diff line number Diff line Loading @@ -30,8 +30,8 @@ final class PackageSetting extends PackageSettingBase { SharedUserSetting sharedUser; PackageSetting(String name, String realName, File codePath, File resourcePath, String nativeLibraryPathString, String requiredCpuAbiString, int pVersionCode, int pkgFlags) { super(name, realName, codePath, resourcePath, nativeLibraryPathString, requiredCpuAbiString, pVersionCode, String nativeLibraryPathString, String cpuAbiString, int pVersionCode, int pkgFlags) { super(name, realName, codePath, resourcePath, nativeLibraryPathString, cpuAbiString, pVersionCode, pkgFlags); } Loading
services/core/java/com/android/server/pm/PackageSettingBase.java +6 −6 Original line number Diff line number Diff line Loading @@ -53,7 +53,7 @@ class PackageSettingBase extends GrantedPermissions { File resourcePath; String resourcePathString; String nativeLibraryPathString; String requiredCpuAbiString; String cpuAbiString; long timeStamp; long firstInstallTime; long lastUpdateTime; Loading Loading @@ -81,11 +81,11 @@ class PackageSettingBase extends GrantedPermissions { /* package name of the app that installed this package */ String installerPackageName; PackageSettingBase(String name, String realName, File codePath, File resourcePath, String nativeLibraryPathString, String requiredCpuAbiString, int pVersionCode, int pkgFlags) { String nativeLibraryPathString, String cpuAbiString, int pVersionCode, int pkgFlags) { super(pkgFlags); this.name = name; this.realName = realName; init(codePath, resourcePath, nativeLibraryPathString, requiredCpuAbiString, pVersionCode); init(codePath, resourcePath, nativeLibraryPathString, cpuAbiString, pVersionCode); } /** Loading @@ -102,7 +102,7 @@ class PackageSettingBase extends GrantedPermissions { resourcePath = base.resourcePath; resourcePathString = base.resourcePathString; nativeLibraryPathString = base.nativeLibraryPathString; requiredCpuAbiString = base.requiredCpuAbiString; cpuAbiString = base.cpuAbiString; timeStamp = base.timeStamp; firstInstallTime = base.firstInstallTime; lastUpdateTime = base.lastUpdateTime; Loading Loading @@ -136,7 +136,7 @@ class PackageSettingBase extends GrantedPermissions { this.resourcePath = resourcePath; this.resourcePathString = resourcePath.toString(); this.nativeLibraryPathString = nativeLibraryPathString; this.requiredCpuAbiString = requiredCpuAbiString; this.cpuAbiString = requiredCpuAbiString; this.versionCode = pVersionCode; } Loading Loading @@ -167,7 +167,7 @@ class PackageSettingBase extends GrantedPermissions { grantedPermissions = base.grantedPermissions; gids = base.gids; requiredCpuAbiString = base.requiredCpuAbiString; cpuAbiString = base.cpuAbiString; timeStamp = base.timeStamp; firstInstallTime = base.firstInstallTime; lastUpdateTime = base.lastUpdateTime; Loading