【发布时间】:2019-01-28 16:18:47
【问题描述】:
我正在使用 AOSP 构建一个应用程序作为系统映像的一部分,并尝试将 support-v4 等库包含为 AARs 用于应用程序 / 在应用程序的 libs/ 文件夹中。否则,这可以正常工作,并且应用程序本身和整个系统映像都可以正常构建,但是在尝试打开应用程序时会出现运行时崩溃。它们似乎都与运行时找不到特定的support-v4等类有关,例如ViewCompatMarshmallow等。
现在,我检查了这些类实际上包含在 AAR 文件中,但是例如像这样:
ViewCompat$MarshmallowViewCompatImpl.class
而如果我检查源代码,例如support-v4,它们被包含为
ViewCompatMarshmallow.java
那么不应该把它作为
包含在 AAR 中吗?ViewCompatMarshmallow.class
?
我怀疑这可能是某种 Android.mk 问题,因为这是我需要在我的应用程序中使用的问题。不幸的是,Gradle 不是一种选择。
我已经声明了例如根据需要支持-v4 AAR 库:
LOCAL_STATIC_JAVA_AAR_LIBRARIES += support-v4-26.0.0
LOCAL_AAPT_FLAGS += --auto-add-overlay
LOCAL_AAPT_FLAGS += --generate-dependencies
LOCAL_AAPT_FLAGS += --extra-packages android.support.v4
LOCAL_AAPT_FLAGS += --extra-packages android.support.v4.app
LOCAL_AAPT_FLAGS += --extra-packages android.support.v4.view
(etc. all the required packagenames)
LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES += support-v4-26.0.0:libs/support-v4-26.0.0.aar
AAR 文件本身来自 Android SDK 的 m2repository 文件夹,所以它应该是“官方的”和正确的,对吧?
有什么想法吗?
谢谢!
【问题讨论】:
标签: android android-support-library android-source android.mk support-v4