如何使用Android源代码编译Helloworld

7

我想在AOSP上运行一个helloworld应用程序,并在模拟器中查看它。 [不通过Android SDK设置]

我按照http://source.android.com/source/download.html中的步骤成功编译了从/目录下的全部代码。

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

我尝试了两件事情。

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

2 - 我在packages/app文件夹中更改了Launcher2的包名,在'Android.mk'文件中进行编译。我不能看到一个新的apk在新的打包名称下创建在 ~/mydroid/out/target/product/generic/system/app下。

我尝试了多次更改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程序的步骤吗?

谢谢, Mani

1个回答

7

复制其他软件包的Android.mk文件,只需更改LOCAL_PACKAGE_NAME并使其与packages/apps中的文件夹名称匹配。

此外,在/build/target/product/core.mk中将您的软件包添加到列表中。

编译后,您应该在预期位置找到apk文件...(out/target/product/.../system/app)


core.mk,我错过了这一步... +1 - Farhan

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