ENV :适用于marlin target (PIXEL XL)纯AOSP (android-9.0.0_r20) marlin target (PIXEL XL)

我想将我自己的库libOwnlibrary.so添加到vendor/etc/public.libraries.txt白名单文件中,以便可以从自己的system/priv-app/MyOwnApp.apk加载它。

目前,我收到以下错误:

java.lang.UnsatisfiedLinkError: dlopen failed: library "/system/lib/libOwnlibrary.so" needed or dlopened by "/system/lib/libnativeloader.so" is not accessible for the namespace "classloader-namespace"

从Android 7.0开始,系统会阻止应用程序动态链接非NDK库,这可能会导致应用程序崩溃。

我当前的设置:

AOSP-root-folder/

- vendor/

- myvendor/

device-partial.mk (this basically instructs `make` to copy libOwnlibrary.so to vendor/lib/libOwnlibrary.so

```PRODUCT_COPY_FILES := .. .so```

proprietary/

Android.mk (pushes presigned prebuilt MyOwnApp.apk to /system/priv-app)

```... include$(BUILD_PREBUILT)```

我应该更改/添加什么,以便能够修改vendor/etc/public.libaries.txt白名单文件以向其中添加libOwnlibrary.so 。

! 一种可行的方法是将libOwnlibrary.so添加到

AOSP-root-folder/system/core/rootdir/etc/public.libraries.android.txt

转换为设备上的system/etc/public.libraries.txt ,

但是这意味着将我的库从vendor/lib移动到system/lib vendor/lib , 我认为这是不允许的。 !

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐