如何构建AOSP应用程序?

3

我将尝试构建AOSP中的相机应用程序。

我使用的是Ubuntu 14.04。

我按照官方文档中的指南进行操作。最后,我执行了以下命令:

make Camera

我遇到了以下错误。
...
...
including ./system/media/audio_utils/Android.mk ...
including ./system/media/camera/src/Android.mk ...
including ./system/media/camera/tests/Android.mk ...
including ./system/netd/client/Android.mk ...
including ./system/netd/server/Android.mk ...
including ./system/security/keystore-engine/Android.mk ...
including ./system/security/keystore/Android.mk ...
including ./system/security/softkeymaster/Android.mk ...
including ./system/vold/Android.mk ...
including ./tools/external/fat32lib/Android.mk ...
make: *** No rule to make target `Camera'.  Stop.
#### make failed to build some targets (33 seconds) ####

1) 我应该如何从 AOSP 源代码构建特定的应用程序,并且输出文件存放在哪里?输出文件的格式是什么?是否可以生成 .apk 文件?

2) 是否可以在 Android Studio 中编辑源代码并进行编译?我知道官方的 AOSP 页面已经包含了一些有关 Eclipse 的资源。


为什么不直接从相机应用程序中提取代码并在自己的应用程序中实现呢? - Jared Burrows
1
这个方法可能有效,但是在AOSP中的应用程序通常会使用各种非SDK功能的部分,这意味着提取出来的代码可能需要进行一些修改(有时候需要进行极大的修改,有时候只需要进行微小的修改)才能与SDK进行构建。不过我不知道这是否适用于所讨论的相机应用程序。 - Chris Stratton
你正在尝试构建哪个Android分支或版本?你的源代码工作区中是否有packages/apps/Camera目录? - Magnus Bäck
我正在主分支上。我已经下载了整个AOSP。我有/packages/apps/Camera目录。 - georgeok
3个回答

1

我相信您首先需要调用以下命令来设置编译环境:

##> source build/envsetup.sh
##> launche <your-device-config>

然后,运行make命令来构建相机:

make Camera -j8

您的设备应该是设备配置之一,例如“hammerhead”适用于Nexus5


0
"make camera2"将构建所有依赖项,然后构建实际的camera2应用程序,并根据您选择的lunch目标将其放置在out/的某个位置。
一旦您已经构建了它一次以获取依赖项,mmm packages/apps/Camera2将进行快速增量编译,但它本身不会构建依赖项。

0

你有两个相机应用程序。旧版本称为LegacyCamera,新版本称为Camera2。 编译它们时不需要运行make命令。你可以直接运行

'mmm packages/apps/Camera2'

或者

'mmm packages/apps/LegacyCamera'


make: *** 没有规则可以生成目标 out/host/linux-x86/bin/aapt',需要 out/target/common/obj/APPS/Camera2_intermediates/src/R.stamp'。停止。 make: 离开目录 `/media/giorgos/4d21ffd4-42ff-4237-905a-ce95b528d7a5/home/giorgos/AOSP'

make 无法构建一些目标 (1 秒)

- georgeok
将其全部编译并从输出目录中获取所需的 APK 文件如何? - EyalBellisha
构建过程可能需要几个小时。我不确定它是否生成apk文件。我认为输出应该是一个图像文件。 - georgeok
根据您的硬件情况和假设您使用make -j8(8个并行作业),可能需要大约2-3小时。它会创建一个图像文件,同时也会为所有应用程序创建apk文件。 - EyalBellisha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接