我正在使用AOSP构建一个应用程序作为系统映像的一部分,并尝试将support-v4等库作为应用程序 / 的AAR包含在应用程序的libs/文件夹中。否则,这可以正常工作,并且应用程序本身和整个系统映像都可以正常构建,但是在尝试打开应用程序时会出现运行时崩溃。它们似乎都与在运行时找不到特定的 support-v4 等类有关,例如ViewCompatMarshmallow等。
现在,我检查了这些类实际上包含在 AAR 文件中,但例如像这样:
ViewCompat$MarshmallowViewCompatImpl.class
而如果我检查例如 support-v4 的源代码,它们被包含为
ViewCompatMarshmallow.java
那么不应该将其包含在 AAR 中吗?
ViewCompatMarshmallow.class
?
我怀疑这可能是某种Android.mk问题,因为这是我需要在我的应用程序中使用的。不幸的是,Gradle 不是一种选择。
我已根据需要声明了 support-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 文件夹,所以它应该是“官方”和正确的,对吧?
有任何想法吗?
谢谢你!