【发布时间】:2021-01-22 06:15:09
【问题描述】:
我正在尝试通过应用程序源代码而不是 apk 在 AOSP 源代码中添加应用程序。我的应用程序是我在 Android Studio 中开发的简单的 hello world 应用程序。我写了它的Android.mk,放在packages/app/myapplication/Android.mk。在aosp_source_code/build/target/product/handheld_system.mk注册的应用包名
我在Android.mk 文件中犯了什么错误吗?还是我错过了任何步骤。
这是我Android.mk的代码
include $(CLEAR_VARS)
LOCAL_PACKAGE_NAME := Myapplication
LOCAL_MODULE_TAGS := optional
LOCAL_PRIVILEGED_MODULE := true
LOCAL_CERTIFICATE := platform
LOCAL_PRIVATE_PLATFORM_APIS := true
LOCAL_SRC_FILES := $(call all-java-files-under, src/main/java)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/src/main/res
LOCAL_MANIFEST_FILE := src/main/AndroidManifest.xml
LOCAL_DEX_PREOPT := false
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_USE_AAPT2 := true
LOCAL_STATIC_ANDROID_LIBRARIES := \
android-arch-lifecycle-extensions \
android-support-v7-recyclerview \
android-support-v7-appcompat \
android-support-constraint-layout
include $(BUILD_PACKAGE)
错误
packages/apps/Myapplication/src/main/res/layout/content_main.xml:8: error: attribute defaultNavHost (aka com.myapplication:defaultNavHost) not found.
packages/apps/Myapplication/src/main/res/layout/content_main.xml:8: error: attribute navGraph (aka com.myapplication:navGraph) not found.
packages/apps/Myapplication/src/main/res/navigation/nav_graph.xml:2: error: attribute startDestination (aka com.myapplication:startDestination) not found.
packages/apps/Myapplication/src/main/res/navigation/nav_graph.xml:14: error: attribute destination (aka com.myapplication:destination) not found.
packages/apps/Myapplication/src/main/res/navigation/nav_graph.xml:24: error: attribute destination (aka com.myapplication:destination) not found.
error: failed linking file resources.
11:57:34 ninja failed with: exit status 1
#### failed to build some targets (4 seconds)
【问题讨论】:
-
能否在应用的 build.gradle 中显示依赖关系?
-
@TuanPM,
dependencies { implementation fileTree(dir: "libs", include: ["*.jar"]) implementation 'androidx.appcompat:appcompat:1.2.0' implementation 'com.google.android.material:material:1.2.1' implementation 'androidx.constraintlayout:constraintlayout:2.0.1' implementation 'androidx.navigation:navigation-fragment:2.3.0' implementation 'androidx.navigation:navigation-ui:2.3.0' testImplementation 'junit:junit:4.12' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' } -
错误是不言自明的。构建系统在您的应用程序源代码以及您在
Android.mk中列出的依赖项中找不到app:defaultNavHost和其他人。似乎这些属性是在androidx.navigation库中定义的,但您尚未将其添加到Android.mk文件中。 -
@frogatto 如何将它们添加到 AOSP 中?以前我使用 PRODUCT_COPY_FILES 向 AOSP 添加了一些库。我需要遵循类似的过程还是不同的东西
标签: android operating-system embedded android-source