日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

手工编译Android程序

發布時間:2025/6/15 Android 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手工编译Android程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
手工編譯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生成資源文件

?

??

  • aapt package -f -m -J gen -S res -I E:/android-sdk-windows/platforms/android-9/android.jar -M AndroidManifest.xml
  • 這個會在gen目錄下生成R.java文件

    ?

    ?? 2.編譯生成的java文件與源文件

    ?

    ?????

  • javac -encoding GB18030 -target 1.5 -bootclasspath E:/android-sdk-windows/platforms/android-9/android.jar -d bin src/com/example/android/notepad/*.java gen/com/example/android/notepad/R.java
  • ?

    這會在bin目錄下生成java字節碼文件

    ?

    ?? 3.利用dx將文件編譯成Dalvik虛擬機文件

    ?

  • dx.bat --dex --output=G:/Danny-workshop/workspace-android/NotePad/bin/classes.dex G:/Danny-workshop/workspace-android/NotePad/bin
  • ?

    我定義生成的文件名為classes.dex

    ?

    ? 4.利用aapt生成資源包文件

    ?

    我定義生成的資源包文件名為resources.ap_

    ?

    ? 5.利用apkbuilder生成未帶簽名證書的apk安裝包

    ?

    ?

    ?

    ?

  • apkbuilder.bat G:/Danny-workshop/workspace-android/NotePad/bin/Notepad_usigned.apk -v -u -z G:/Danny-workshop/workspace-android/NotePad/bin/resources.ap_ -f G:/Danny-workshop/workspace-android/NotePad/bin/classes.dex -rf G:/Danny-workshop/workspace-android/NotePad/src
  • ?

    ?

    6.利用keytool生成簽名

    ?

    ?

  • keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
  • ? ?

    這個命令會在當前目錄下生成一個android.keystore的文件

    ?

    7.用jarsigner對apk進行簽名

    ?

    ?

  • jarsigner -verbose -keystore G:/Danny-workshop/workspace-android/NotePad/android.keystore -storepass kingsoft -keypass kingsoft -signedjar G:/Danny-workshop/workspace-android/NotePad/bin/Notepad.apk G:/Danny-workshop/workspace-android/NotePad/bin/Notepad_usigned.apk android.keystore
  • ? ? ?

    一個完成的應用程序已實現,可以進行安裝了!

    ?

    部署過程?安裝

    在啟動摸擬器的情況下,輸入以下命令,即可安裝

    ?

    ?

    以上提示為程序成功安裝

  • adb install Notepad.apk
  • ? ? ?

    缷載程序

    1.摸擬器刪除

    可以在摸擬器里的settings刪除程序

    ?

    ?

  • Application->Manager->Uninstall
  • ?

    2.手工刪除

    ???在摸擬器成功啟動的情況下,輸入以下命令

  • adb shell
  • #cd data
  • #cd app
  • #rm 指定的程序名
  • #exit
  • 即可刪除安裝的程序

    ?

    ?

    小結??

    學習,永沒止境!!

  • aapt package -f -M AndroidManifest.xml -S res -A assets -I E:/android-sdk-windows/platforms/android-9/android.jar -F bin/resources.ap_
  • 總結

    以上是生活随笔為你收集整理的手工编译Android程序的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。