summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/os/incremental/IIncrementalService.aidl4
-rw-r--r--core/java/android/os/incremental/IncrementalStorage.java7
-rw-r--r--core/java/com/android/internal/content/NativeLibraryHelper.java3
3 files changed, 9 insertions, 5 deletions
diff --git a/core/java/android/os/incremental/IIncrementalService.aidl b/core/java/android/os/incremental/IIncrementalService.aidl
index 4c5757098025..220ce22ded5c 100644
--- a/core/java/android/os/incremental/IIncrementalService.aidl
+++ b/core/java/android/os/incremental/IIncrementalService.aidl
@@ -111,9 +111,9 @@ interface IIncrementalService {
void deleteStorage(int storageId);
/**
- * Setting up native library directories and extract native libs onto a storage.
+ * Setting up native library directories and extract native libs onto a storage if needed.
*/
- boolean configureNativeBinaries(int storageId, in @utf8InCpp String apkFullPath, in @utf8InCpp String libDirRelativePath, in @utf8InCpp String abi);
+ boolean configureNativeBinaries(int storageId, in @utf8InCpp String apkFullPath, in @utf8InCpp String libDirRelativePath, in @utf8InCpp String abi, boolean extractNativeLibs);
/**
* Waits until all native library extraction is done for the storage
diff --git a/core/java/android/os/incremental/IncrementalStorage.java b/core/java/android/os/incremental/IncrementalStorage.java
index 70ebbaa326b8..6200a38fe13c 100644
--- a/core/java/android/os/incremental/IncrementalStorage.java
+++ b/core/java/android/os/incremental/IncrementalStorage.java
@@ -469,12 +469,15 @@ public final class IncrementalStorage {
* @param apkFullPath Source APK to extract native libs from.
* @param libDirRelativePath Target dir to put lib files, e.g., "lib" or "lib/arm".
* @param abi Target ABI of the native lib files. Only extract native libs of this ABI.
+ * @param extractNativeLibs If true, extract native libraries; otherwise just setup directories
+ * without extracting.
* @return Success of not.
*/
public boolean configureNativeBinaries(String apkFullPath, String libDirRelativePath,
- String abi) {
+ String abi, boolean extractNativeLibs) {
try {
- return mService.configureNativeBinaries(mId, apkFullPath, libDirRelativePath, abi);
+ return mService.configureNativeBinaries(mId, apkFullPath, libDirRelativePath, abi,
+ extractNativeLibs);
} catch (RemoteException e) {
e.rethrowFromSystemServer();
return false;
diff --git a/core/java/com/android/internal/content/NativeLibraryHelper.java b/core/java/com/android/internal/content/NativeLibraryHelper.java
index 02cf25a7c3d2..476198b5311a 100644
--- a/core/java/com/android/internal/content/NativeLibraryHelper.java
+++ b/core/java/com/android/internal/content/NativeLibraryHelper.java
@@ -506,7 +506,8 @@ public class NativeLibraryHelper {
}
for (int i = 0; i < apkPaths.length; i++) {
- if (!incrementalStorage.configureNativeBinaries(apkPaths[i], libRelativeDir, abi)) {
+ if (!incrementalStorage.configureNativeBinaries(apkPaths[i], libRelativeDir, abi,
+ handle.extractNativeLibs)) {
return PackageManager.INSTALL_FAILED_INTERNAL_ERROR;
}
}