android-source - 可以导入android应用程序的gradle来构建AOSP项目

标签 android-source

我有一个由 android-studio 构建的 Android 应用程序,它使用 gradle 脚本,现在我想将应用程序移动到 AOSP 构建系统。那么如何导入 gradle 脚本并转换为 AOSP 构建(可能是 Android.bp 或 Android.mk)。 在gradle项目中有很多依赖项,android-studio可以自动下载这个依赖项,我可以在AOSP中这样做吗?

最佳答案

根据我的经验,您可能需要手动编写 Andorid.mk。顺便说一句,AOSP 构建系统不会自动为您下载依赖项。如果 AOSP 中提供了依赖项,则无需下载它们,只需链接到它们即可。否则,您需要将它们下载到本地目录,然后使用 Android.mk 将它们添加到 AOSP 并链接。

这是 Android.mk 的示例。其中“libs”目录包含AOSP中不可用的库。

LOCAL_PATH:= $(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res

LOCAL_PACKAGE_NAME := testapp

LOCAL_PRIVATE_PLATFORM_APIS := true

LOCAL_REQUIRED_MODULES := com.example.testapp

LOCAL_CERTIFICATE := platform

LOCAL_MODULE_TAGS := optional

LOCAL_PRIVILEGED_MODULE := true

LOCAL_USE_AAPT2 := true

LOCAL_PROGUARD_ENABLED := disabled


LOCAL_STATIC_ANDROID_LIBRARIES += \
    androidx.lifecycle_lifecycle-extensions \
    androidx.appcompat_appcompat \
    androidx-constraintlayout_constraintlayout \
    androidx.recyclerview_recyclerview \
    androidx.cardview_cardview \
    android-support-v4 \

LOCAL_STATIC_JAVA_LIBRARIES := \
    cdi-api \
    zxing-core \
    http \
    httpclient \
    httpcore \

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \
    cdi-api:libs/cdi-api.jar \
    zxing-core:libs/core-3.3.2.jar \
    http:libs/http-2.2.1.jar \
    httpclient:libs/httpclient-4.2.2.jar \
    httpcore:libs/httpcore-4.2.3.jar \

include $(BUILD_MULTI_PREBUILT)

关于android-source - 可以导入android应用程序的gradle来构建AOSP项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64041734/

相关文章:

linux - 如何从 AOSP 为 Android 构建 Linux 内核?

android - 使用 AOSP 构建闪烁 Nexus 7 后无法使蓝牙和相机工作

linux - 如何从 http ://source. android.com 获取 linux 内核目录?

java - android.util.Log#println_native() 中有什么?

android-source - 如何使 `mmm` 省略耗时的文档构建步骤?

android - 自定义系统服务上下文错误

android - Nexus 7 刷完 AOSP build 后卡在 google 的 logo 上

android - 未能构建 aosp。说子命令失败

android - AOSP ninja build 停止 : subcommand failed

java - 如何在android JellyBean 4.2.2中开发自定义状态栏