gpt4 book ai didi

android-source - 如何在 AOSP 中添加应用程序?

转载 作者:行者123 更新时间:2023-12-05 00:49:10 24 4
gpt4 key购买 nike

我们正在尝试使用 AOSP 的 master 分支开发自定义 ROM。我们已经在 AOSP 提供的模拟器上成功构建并运行了编译后的镜像。
现在我们正在尝试在 AOSP 中添加一个应用程序,以便 AOSP 分支编译并运行其中的应用程序,这意味着当我们运行 android 版本时,我们新添加的应用程序将充当默认/系统应用程序。

我们尝试使用以下步骤来做到这一点,但失败了:

  • 放置 App_name文件夹到/packages/apps
  • 将 Android.mk 添加到/packages/apps/App_name/
  • 将 App_name 条目添加到/build/target/product/core.mk
    产品包:=\
    ...\
    某应用\
    应用名称

  • 备注 : App_name是使用 android studio 开发的应用程序文件夹,存在于 Android-Studio Projects 文件夹中。

    执行完这些步骤后,我们编译了整个源代码/AOSP,最终编译失败。

    有人可以帮我吗??

    最佳答案

    要向 AOSP 添加默认应用程序,您应该在 packages/apps 中创建一个任意名称的目录。 (目录名无关紧要),那么你应该把必要的代码和资源放在里面。注意 AOSP 构建系统不使用 Gradle,因此您不需要复制 gradle 构建文件(如 build.gradle 和 setting.gradle 等)。

    对于典型的应用程序,您应该创建以下目录:

  • src : 把你的java代码放在这里。
  • res :放置您的资源目录,例如 drawable 、 layout 、 ...
  • Assets :如果您的项目有任何 Assets 文件,请将它们放在此文件夹中

  • 您的 AndroidManifest.xml文件应该被添加到你的目录的顶部。放置你的代码和资源后,创建一个 Android.mk文件并在其中写入以下几行:
    LOCAL_PATH:= $(call my-dir)

    include $(CLEAR_VARS)

    LOCAL_PACKAGE_NAME := <Name of your app>

    LOCAL_SDK_VERSION := current

    LOCAL_SRC_FILES := $(call all-java-files-under, src)

    # Include libraries

    LOCAL_JAVA_LIBRARIES := <Java lib dependencies>

    LOCAL_STATIC_JAVA_LIBRARIES := android-common

    LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4

    LOCAL_STATIC_JAVA_LIBRARIES += android-support-v7-appcompat

    LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res

    LOCAL_ASSETS_DIR := $(LOCAL_PATH)/assets

    LOCAL_AAPT_FLAGS := --auto-add-overlay

    LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.appcompat

    include $(BUILD_PACKAGE)
  • LOCAL_PACKAGE_NAME 是您的应用程序的名称(例如 camera , app1 ,...),您应该将此名称添加到 /build/target/product/core.mk (没有文件夹名称,文件夹名称不重要)。
  • LOCAL_SRC_FILES 是指向 Java 代码的指针。
  • LOCAL_JAVA_LIBRARIES :如果您的项目有 java lib 依赖项,请在此处引用。
  • LOCAL_RESOURCE_DIR 是 res 目录的地址
  • LOCAL_ASSETS_DIR 是 Assets 目录的地址

  • 最后构建您的应用程序并将其添加到系统镜像。使用这些命令
    make <name of your app>
    make snod
    <name of your app>LOCAL_PACKAGE_NAME 的值在您的 Android.mk文件。您不需要使用类似 make -j8 的东西来构建整个 AOSP 构建树。 .只需构建您的应用程序并将其添加到系统镜像。默认应用程序放置在只读系统分区中。

    关于android-source - 如何在 AOSP 中添加应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48137706/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com