【问题标题】:is it possible to build android applications using Andriod.bp是否可以使用 Andriod.bp 构建 android 应用程序
【发布时间】:2018-05-11 00:54:44
【问题描述】:

是否可以使用 Android.bp 构建 android 应用程序?

我尝试使用以下命令从 Android.MK 文件生成 Android.bp 文件

androidmk Android.mk > Android.bp

生成的 Android.bp 文件就像,

// ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_RESOURCE_DIR
// LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res frameworks/support/v7/appcompat/res  frameworks/support/design/res
TARGET_ABI = ["x86_64"]
android_app {
srcs: ["src/**/*.java"],

name: "ResourceDemo",

static_libs: ["android-support-v4"] + ["android-support-v7-appcompat"],
certificate: "platform",

// ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_PRIVILEGED_MODULE
// LOCAL_PRIVILEGED_MODULE := true

// ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_USE_AAPT2
// LOCAL_USE_AAPT2 := true

// ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_DEX_PREOPT
// LOCAL_DEX_PREOPT := true

// ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_PROGUARD_ENABLED
// LOCAL_PROGUARD_ENABLED := nosystem

// ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_PROGUARD_FLAG_FILES
// LOCAL_PROGUARD_FLAG_FILES := proguard.flags

aaptflags: ["--auto-add-overlay"],
product_variables: {
    pdk: {
        enabled: false,
    },
},
}

运行 make build 命令后,出现以下错误

[1/1] out/soong/.bootstrap/bin/minibp out/soong/.bootstrap/build.ninja
[2/2] out/soong/.bootstrap/bin/minibp out/soong/.bootstrap/build.ninja
[1/1] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
FAILED: out/soong/build.ninja 
out/soong/.bootstrap/bin/soong_build  -t -b out/soong -d 
out/soong/build.ninja.d -o out/soong/build.ninja Android.bp
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on     undefined module "core-libart"
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on  undefined module "core-oj"
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on  undefined module "core-libart"
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on undefined module "ext"
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on undefined module "framework"
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on undefined module "okhttp"
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on undefined module "android-support-v4"
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on undefined module "android-support-v7-appcompat"
error: packages/apps/ResourceDemo/Android.bp:1:1: "ResourceDemo" depends on undefined module "framework-res"
ninja: build stopped: subcommand failed.
09:21:36 soong failed with: exit status 1

#### failed to build some targets (3 seconds) ####

帮助我使用 Android.bp 构建

【问题讨论】:

    标签: android android-build ninja android-soong


    【解决方案1】:

    这是可能的,但有limitations,您需要使用 AOSP 大师的最新提示。例如,这是一个从 Android.bp 文件构建的基于 Kotlin 的特权应用程序: https://github.com/jzoran/kotlin-privapp/blob/master/Android.bp

    最近有几个平台组件已转换为 Android.bp,但取决于您的应用程序的复杂性、它所依赖的组件,它可能还可能做也可能不做。

    可能不支持某些 Android.mk 语句(尚),并且 androidmk 可能未完全更新 Soong 支持的内容。如果您遇到翻译错误,请查看在 out/{TARGET}/soong/docs/soong_build.html 生成的 Soong 构建文档。您可以在那里找到等效的蓝图语句。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-06
      • 1970-01-01
      • 2017-11-26
      • 2011-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多