手工编译Android程序
賴鋒
我的china-unix博客?http://laiboy.cublog.cn
我的CSDN博客?http://blog.csdn.net/laiboy
?
程序描述?
利用命令行方式重新編譯Android自帶的Notepad程序!通過手工安裝程序到摸擬器上運行!
?
程序目的了解Eclipse的Android開發插件編譯,部署程序的過程!
為實現Android應用程序自動化構建部署作準備前工作.
?
實現流程以下為實現命令行構建Android應用程序的流程圖
?
?
?
?
以下為實現過程的演示步聚
準備工作
1.設置環境變量
?
?
?
由于是選擇Androi2.3的例子,所以選擇5
設置了相應的環境變量
?
2.創建基于Android2.3的摸擬器,使用以下命令創建
android?create?avd?-c?32M?-t?6?-n?AndroidVD2.3
則創建一個32M,基于android2.3平臺的摸擬器
運行摸擬器
emulator?-avd?AndroidVD2.3
?
?
?
?
以下有兩個輔助命令,很有幫助
列出SDK支持的開發列表
android?list?target
?
?
?
?
?
列出已創建的摸擬器列表
android?list?avd
?
? ?
注意點:如果沒有設置ANDROID_SDK_HOME這個環境變量,則虛擬機會安裝在默認目錄下,在windows平臺上默認目錄為
C:/User/<user>/.android
?
構建過程?以下為android?sdk自帶例子的目錄結構,我刪除了test的目錄,這部分不需要
?
?
?
??? 以上是一個標準的android的應用程序目錄結構,手工開發也應該遵守官方推薦標準(事實也可以自已定義目錄結構)
?
???
例子沒有bin,gen,assets這三個目錄,需要建立這三個目錄.
?
?
?
?? 以下為我編譯notepad的過程,具體參數意義參考官方文檔
?
?? 1.選用aapt生成資源文件
?
??
這個會在gen目錄下生成R.java文件
?
?? 2.編譯生成的java文件與源文件
?
?????
?
這會在bin目錄下生成java字節碼文件
?
?? 3.利用dx將文件編譯成Dalvik虛擬機文件
?
?
我定義生成的文件名為classes.dex
?
? 4.利用aapt生成資源包文件
?
我定義生成的資源包文件名為resources.ap_
?
? 5.利用apkbuilder生成未帶簽名證書的apk安裝包
?
?
?
?
?
?6.利用keytool生成簽名
?
?
這個命令會在當前目錄下生成一個android.keystore的文件
?
7.用jarsigner對apk進行簽名
?
?
一個完成的應用程序已實現,可以進行安裝了!
?
部署過程?安裝在啟動摸擬器的情況下,輸入以下命令,即可安裝
?
?
以上提示為程序成功安裝
缷載程序
1.摸擬器刪除
可以在摸擬器里的settings刪除程序
?
?
?
2.手工刪除
???在摸擬器成功啟動的情況下,輸入以下命令
即可刪除安裝的程序
?
?
小結??
學習,永沒止境!!
總結
以上是生活随笔為你收集整理的手工编译Android程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 虚拟机及VmBasic编译引擎实现
- 下一篇: 不用 IDE 手工创建、开发、编译、安装