Я работаю над приложением для AOSP, которое использует несколько файлов aar (с jni /...*. So libs) внутри. У меня проблема с AndroidRuntime: java.lang.UnsatisfiedLinkError: Реализация долго не найдена Ниже приведен наиболее важный Android.mk:
ifneq ($(TARGET_BUILD_PDK), true)
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-java-files-under, java) $(call all-Iaidl-files-under, aidl)
LOCAL_AIDL_INCLUDES := $(LOCAL_PATH)/aidl
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
LOCAL_ASSET_DIR := $(LOCAL_PATH)/assets
LOCAL_PACKAGE_NAME := appname
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_CERTIFICATE := platform
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_JAVA_LIBRARIES += ...
I'mдобавление файлов aar в Android.mk, например:
LOCAL_STATIC_ANDROID_LIBRARIES += lib1 lib2 lib3
LOCAL_USE_AAPT2 := true
PACKAGE_FROM_AAR_MANIFEST (ниже) из файла AndroidManifest.xml из каждой библиотеки «aar»
LOCAL_AAPT_FLAGS := --auto-add-overlay --extra-packages PACKAGE_FROM_AAR_MANIFEST ...
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_DEX_PREOPT := false
include $(BUILD_PACKAGE)
prebuildLibs := \
lib1:libs/.../lib1.aar \
lib1:libs/.../lib1.aar \
lib1:libs/.../lib1.aar \
define define-prebuilt
$(eval tw := $(subst :, ,$(strip $(1)))) \
$(eval include $(CLEAR_VARS)) \
$(eval LOCAL_MODULE := $(word 1,$(tw))) \
$(eval LOCAL_MODULE_TAGS := optional) \
$(eval LOCAL_MODULE_CLASS := JAVA_LIBRARIES) \
$(eval LOCAL_SRC_FILES := $(word 2,$(tw))) \
$(eval LOCAL_UNINSTALLABLE_MODULE := true) \
$(eval LOCAL_SDK_VERSION := current) \
$(eval include $(BUILD_PREBUILT))
endef
$(foreach p,$(prebuildLibs),\
$(call define-prebuilt,$(p)))
prebuildLibs :=
Проблема в том, что после сборки нетlib dir в директории out: / out / target / product / DEVICE / system / priv-app / appname /
Даже если я скопирую в системные / priv-app / appname / lib / arm64 библиотеки, которые мне еще нужныесть такая же проблема. Есть идеи, что мне не хватает? :)