在AOSP中增加預設app (3) : 利用Android Studio來進行編輯
平台及環境設置
平台
實驗平台:Nexus 5
Android版本:android-4.4_r1
前置知識: [Howto Build Android KitKat (4.4) for the Google Nexus 5][6]
環境設置
在AOSP資料夾中
|
|
目標:利用Android Studio來新增APP (命名為World)
在上一篇文章中,說明了如何copy一份已有的project來改寫。但是寫Android App有許多煩雜的地方,有時候還是需要IDE來幫助比較快,這裡找了一個比較tricky的方法來使用IDE。
新增Android Studio Project
我們直接從Android Studio中產生一個空的project,命名為World
。
新增project時記得選empty Activity,之後比較好做。
建立soft link
在剛剛產生出來的Android Project路徑底下,World/app/src/main
應該有java、res資料夾,以及AndroidManifest.xml。
在AOSP/packages/apps
建立新目錄World
,並在其底下建立起上述3個檔案之軟連結(soft link)。
|
|
撰寫Android.mk
參考Secrets of Android.mk此份文件當中的Building a simple APK目錄。將其加到AOSP/packages/apps/World
資料夾下。
Android.mk
|
|
修改掉所有appcompat的部份
再來使用mm
在AOSP/packages/apps/World
進行編譯,運氣不好的話,編譯會出現找不到某些命名的錯誤。這是因為Google為了讓各種app看起來更有一致性,將Android Studio的新Project皆使用Appcompat此library來協調視覺效果。可是此library並不存在於預設的編譯環境當中。為了為了節省麻煩,將其去掉。
style.xml
|
|
並把MainActivity中可能會用ActionBarActivity或是AppCompatActivity來替代Activity,請一律換成Activity來使用。
MainActivity.java
|
|
最後,我在編譯途中還遇到標籤問題。預設的編譯環境似乎不允許著無命名的字串存在。也就是說,如果你有任何的text標籤是直接給予字串值的,可能會編譯失敗。
修改前
|
|
可能要改將字串引用自string.xml才能編譯成功。
修改後
|
|
res/values/string.xml
|
|
編譯
使用mm
進行編譯,此次應該可以順利通過了。
之後直接在Android Studio裡對Application進行編輯,由於建立了軟連結,AOSP內部的內容也會同步更改。
這樣就可以用Android Studio來撰寫APP囉。