问题描述
我正在尝试将包含 fwk/base/pkgs/SettingsLib/common.mk 添加到设置应用程序中,但我不确定如何在 Android.bp 文件中使用它。
我使用 AOSP 构建系统附带的 androidmk 转换工具将 Android.mk 转换为 Android.bp
我做了什么:
1. On AOSPSource code,check build/soong/androidmk and make full build.
2. After compiling the source code,the androidmk generation tool located :
# out/soong/host/linux-x86/bin/androidmk
3. Using the androidmk command try converting my Android.mk to Android.bp
# androidmk Android.mk > Android.bp
Android.bp 内部错误
20 // **ANDROIDMK TRANSLATION ERROR: unsupported include**
21 // include frameworks/base/packages/SettingsLib/search/common.mk$
有什么建议吗?提前致谢。
解决方法
找到了将 Android.mk 转换为 Android.bp 并在应用程序上导入的方法。
Core AOSP androidmk 工具没有帮助,我们需要在 SettingsLibs 上手动创建 SettingsLibDefaults(在任何库上创建默认值)。 Referred AOSP SettingsLib Android.bp file。
// NOTE: Keep this module in sync with ./common.mk
java_defaults {
name: "SettingsLibDefaults",static_libs: [
"androidx.annotation_annotation","androidx.lifecycle_lifecycle-common","androidx.legacy_legacy-support-v4","androidx.lifecycle_lifecycle-runtime","androidx.recyclerview_recyclerview","androidx.preference_preference","androidx.appcompat_appcompat","androidx.legacy_legacy-preference-v14","SettingsLib",],}
在设置应用 Android.bp 文件中使用 SettingsLibDefaults
android_library {
name: "Settings-core",platform_apis: true,defaults: [
"SettingsLibDefaults","SettingsLib-search-defaults",
同样,我们需要在任何 libs Android.bp 文件上创建默认值并在应用程序上导入。