如何在AOSP构建中添加APK?

时间:2012-05-14 08:29:31

标签: android android-source

我需要在我的AOSP版本中添加一些第三方APK。我应该保留这些APK的文件夹,以便在构建代码并创建映像时,它是否安装在模拟器中?

看起来系统应用程序保存在 packages / app 文件夹中,因此我需要知道第三方APK的保存位置。

4 个答案:

答案 0 :(得分:57)

将第三方APK添加到构建中绝对是可能的。

此外,带有源代码的APK和APP也会转到同一个地方; package/app文件夹。

将新APK添加到构建

在AOSP根目录中添加文件夹:

<aosp root>/package/app/< yourappfolder >

然后在此文件夹中添加:

  • empty Android.mk
  • < yourapp.apk >

android make文件应该引用你的apk,将其添加到你的Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional

LOCAL_MODULE := < your app folder name >

LOCAL_CERTIFICATE := < desired key >

LOCAL_SRC_FILES := < app apk filename >

LOCAL_MODULE_CLASS := APPS

LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)

include $(BUILD_PREBUILT)

commons.mk中创建一个条目(通常在build/target/product中),为你的apk添加一行(检查其他所有内容)

PRODUCT_PACKAGES += < what you have defined in LOCAL_MODULE, it should be your app folder name >

编译AOSP,您在系统上安装了一个全新的应用程序。

答案 1 :(得分:4)

您还可以在目标输出目录中执行以下操作:

<path-to-your-build-dir>/host/linux-x86/bin/simg2img system.img temp.img
mkdir system_root
sudo mount -t ext4 -o loop temp.img system_root

此时您可以对system_root中的文件进行任何更改,即将apks添加到系统/ app等...

当你完成后,回到输出目录并执行:

sudo umount system_root
<path-to-your-build-dir>/host/linux-x86/bin/img2simg temp.img system.img

您现在可以像往常一样使用fastboot闪烁system.img。

答案 2 :(得分:4)

上面介绍的Android.mk将在/ system / app中安装APK

如果您希望在/ data / app中安装APK,则需要在行include $(BUILD_PREBUILT)之前将以下行添加到Android.mk

LOCAL_MODULE_PATH := $(TARGET_OUT_DATA)

答案 3 :(得分:0)

按照第一个答案制作 apk 和 Android.mk 文件并将其放置在它应该放置的位置。但是现在在 build/target/product 中没有 core.mk 文件,但它已被重命名为 Handheld_product.mk 因此,请在此处添加您应用的文件夹名称。