diff --git a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java index de3d153fad8a4..975a4c2ddc7bf 100755 --- a/core/tests/coretests/src/android/content/pm/PackageManagerTests.java +++ b/core/tests/coretests/src/android/content/pm/PackageManagerTests.java @@ -1392,8 +1392,10 @@ public class PackageManagerTests extends AndroidTestCase { assertNotNull(info); if ((moveFlags & PackageManager.MOVE_INTERNAL) != 0) { assertTrue((info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) == 0); + assertTrue(info.nativeLibraryDir.startsWith(info.dataDir)); } else if ((moveFlags & PackageManager.MOVE_EXTERNAL_MEDIA) != 0){ assertTrue((info.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0); + assertTrue(info.nativeLibraryDir.startsWith(SECURE_CONTAINERS_PREFIX)); } } } catch (NameNotFoundException e) { diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java index 171de9c54ca51..12ae4ffc389e3 100644 --- a/services/java/com/android/server/PackageManagerService.java +++ b/services/java/com/android/server/PackageManagerService.java @@ -9834,6 +9834,7 @@ class PackageManagerService extends IPackageManager.Stub { ps.codePathString = ps.codePath.getPath(); ps.resourcePath = new File(pkg.applicationInfo.publicSourceDir); ps.resourcePathString = ps.resourcePath.getPath(); + ps.nativeLibraryPathString = newNativePath; // Set the application info flag correctly. if ((mp.flags & PackageManager.INSTALL_EXTERNAL) != 0) { pkg.applicationInfo.flags |= ApplicationInfo.FLAG_EXTERNAL_STORAGE;