Merge "Allow apps to load libraries from under /data" into nyc-dev

am: a31657911c

* commit 'a31657911c96fb735bf4a34610638c9f95e5c99d':
  Allow apps to load libraries from under /data

Change-Id: I2bfbd50d911857825f9b8060a3ebdb335ff7cfad
This commit is contained in:
Dimitry Ivanov
2016-05-03 20:05:27 +00:00
committed by android-build-merger

View File

@@ -465,20 +465,18 @@ public final class LoadedApk {
final String zip = mIncludeCode ? TextUtils.join(File.pathSeparator, zipPaths) : "";
final boolean isBundledApp = mApplicationInfo.isSystemApp()
&& !mApplicationInfo.isUpdatedSystemApp();
String libraryPermittedPath = mDataDir;
// Apps are allowed to open any native library under /data
// TODO (dimitry):This is something which could be limited to apps own directory
// later on but currently there are number of apps relying on this.
// (see http://b/27588281 and http://b/26954419 for examples)
String libraryPermittedPath = "/data";
if (isBundledApp) {
// This is necessary to grant bundled apps access to
// libraries located in subdirectories of /system/lib
libraryPermittedPath += File.pathSeparator +
System.getProperty("java.library.path");
}
// DO NOT SHIP: this is a workaround for apps loading native libraries
// provided by 3rd party apps using absolute path instead of corresponding
// classloader; see http://b/26954419 for example.
if (mApplicationInfo.targetSdkVersion <= 23) {
libraryPermittedPath += File.pathSeparator + "/data/app";
}
// -----------------------------------------------------------------------------
final String librarySearchPath = TextUtils.join(File.pathSeparator, libPaths);