diff options
| author | 2015-06-13 00:43:56 +0000 | |
|---|---|---|
| committer | 2015-06-13 00:44:01 +0000 | |
| commit | 8da462dea50dda16ea83b8cad83412a76f60f915 (patch) | |
| tree | 8167f8f36f9b3619d58dac8d055161bcf88a122f | |
| parent | 396b83b0c8a9c615ca416fa7a7d366a4e30971a1 (diff) | |
| parent | 88b85406d45188bb8f2ccc74c75e74635ef29036 (diff) | |
Merge "Add path to native libraries inside apk"
| -rw-r--r-- | core/java/android/app/LoadedApk.java | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index 83c6c2bcbe8a..778920072dc8 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -55,6 +55,7 @@ import java.lang.ref.WeakReference; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.net.URL; +import java.util.List; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; @@ -170,6 +171,7 @@ public final class LoadedApk { if (runtimeIsa.equals(secondaryIsa)) { final ApplicationInfo modified = new ApplicationInfo(info); modified.nativeLibraryDir = modified.secondaryNativeLibraryDir; + modified.primaryCpuAbi = modified.secondaryCpuAbi; return modified; } } @@ -276,8 +278,9 @@ public final class LoadedApk { } } - final ArrayList<String> zipPaths = new ArrayList<>(); - final ArrayList<String> libPaths = new ArrayList<>(); + final List<String> zipPaths = new ArrayList<>(); + final List<String> apkPaths = new ArrayList<>(); + final List<String> libPaths = new ArrayList<>(); if (mRegisterPackage) { try { @@ -333,6 +336,8 @@ public final class LoadedApk { } } + apkPaths.addAll(zipPaths); + if (mSharedLibraries != null) { for (String lib : mSharedLibraries) { if (!zipPaths.contains(lib)) { @@ -350,6 +355,14 @@ public final class LoadedApk { } final String zip = TextUtils.join(File.pathSeparator, zipPaths); + + // Add path to libraries in apk for current abi + if (mApplicationInfo.primaryCpuAbi != null) { + for (String apk : apkPaths) { + libPaths.add(apk + "!/lib/" + mApplicationInfo.primaryCpuAbi); + } + } + final String lib = TextUtils.join(File.pathSeparator, libPaths); /* |