2010-09-12 39 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