2010-09-12 42 views
5

我想用AOSP运行helloworld应用程序并在模拟器中看到它。 [不通过Android SDK设置]如何使用Android源代码编译Helloworld

我按照http://source.android.com/source/download.html 中的步骤并成功编译了/ directory目录中的完整代码。

我可以看到contacts.apk,camera.apk所有应用程序apk在 〜/ mydroid/out/target/product/generic/system/app。

我试了两件事。

1 - 去/包/ apps文件夹。接受了一个helloworld应用程序(在android-sdk中创建了helloworld文件夹),并从Launcher2文件夹复制了一个'Android.mk'文件,保留了我的新名称以将应用程序放置在packages/app文件夹并在/编译。 我看不到为〜/ mydroid/out/target/product/generic/system/app创建的.apk文件。

2 - 我在“Android,mk”文件的packages/app文件夹中更改了Launcher2的包名,并在根目录下编译。我无法看到在 〜/ mydroid/out/target/product/generic/system/app下的新打包名称上创建的新apk。

我尝试了几次manifest.xml文件中活动名称,应用程序名称的更改。没有任何反映。但可以肯定的是,无论helloworld还是软件包名称的更改在编译时都会被拾取。我可以看到创建中级课程。 〜/ mydroid/out/target/common/obj/APPS/manifirst_intermediates/src/com/android/mani - > manifirst就像我创建并运行的helloworld。 〜/ mydroid/out/target/common/obj/APPS/Launcher2_intermediates/src/com/android/launcher

任何人都可以分享在AOSP中编译简单的Helloworld程序的步骤。

感谢, 玛尼

回答

6

复制Android.mk任何其他包,只需要改变LOCAL_PACKAGE_NAME并作出一个匹配的软件包/应用程序文件夹的名称。

此外,在/build/target/product/core.mk

添加您的软件包列表编译你会发现,你期望它的APK ...(出/目标/产品后/ .. ./system/app)

+0

感谢Matthieu,它的工作原理。 ! – Mani 2010-09-13 12:01:48

+2

很高兴帮助,那么你可以验证答案... – Matthieu 2010-09-14 18:31:26

+0

core.mk,我错过了这一步.. +1 – Farhan 2016-09-29 11:48:15