導航:首頁 > 程序命令 > 安卓命令行打包

安卓命令行打包

發布時間:2024-11-25 18:21:58

1. 如何解包/編輯/打包android系統的boot.img文件

Android產品中,內核格式是linux標準的zImage,根文件系統採用ramdisk格式。這兩者在Android下是直接合並在一起取名為boot.img,會放在一個獨立分區當中。這個分區格式是Android自行制定的格式。Android開發時,最標準的做法是重新編譯於內核和根文件系統,然後調用Android給的命令行文件mkbootimg(out/host/linux-x86/bin/)來打包。 在製作手機ROM時,有時會單獨編譯內核或抽出根文件進行修改內容,比如我只編譯內核,其餘的地方不變。這樣重新安裝巨大的Android開發環境實在不劃算。因此很多boot.img解包工具被人開發出來,這一些工具都是把內核和根文件系統從一個現成的boot.img抽取出來,修發後再次打包還原。一.常見的解包工具因為boot.img的格式比較簡單,它主要分為三大塊(有的可能有四塊)因此很多人開發分析工具,有是linuxshell腳本,比如repack-zImage,也有人採用perl,還有C語言編寫的unbootimg, 我使用的是在源碼位置system/core/mkbootimg/下的mkbootimg。為了簡化,藍點工坊把與mkbootimg中打包工具和解包工具以及所包含的libmincrpty庫抽出來,並且重寫一個Makefile,作為開源項目。使用者只需要在linux(需安裝gcc,make,一般是標配)或windows(需要安裝mingw)的命令行執行make,即可產生可執行文件mkbootimg,unpackbootimg。二.解/打包工具使用解包工具:unpackbootimg常見格式 unpackbootimg-i.\tmp\boot.img-o.\out 這一句命令行表示把boot.img解包,所有文件輸出到out目錄下它會解壓出如下文件:boot.img-zImage(內核文件)boot.img-ramdisk.gz(根文件系統打包文件) boot.img-cmdline(mkbootimgcmdline參數) boot.img-pagesize(mkbootimgpagesize參數) boot.img-base(mkbootimgbase參數)打包工具:mkbootimg(Android自帶)常見的命令格式: ./mkbootimg --cmdline'no_console_suspend=1console=null' --kernel zImage --ramdisk boot/boot.img-ramdisk.gz -o boot.img--base02e00000 這句含義是把內核文件zImage和boot目錄下的根文件壓縮包boot.img-ramdisk.gz打包成boot.img. 其中cmdline和base的值均來源於unpackbootimg的結果

2. 寫好的android項目怎麼打包成Apk文件

1.)生成keystore

按照下面的命令行 在C:Program Filesjavajdk1.6.0_10in>目錄下,輸入keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore

參數意義:-validity主要是證書的有效期,寫100000天;空格,退格鍵 都算密碼。

命令執行後會在C:Program FilesJavajdk1.6.0_10in>目錄下生成android.keystore文件。如圖-1

最終生成的apk文件

3. 如何反編譯android應用並重新打包

反編譯android步驟入下:

第一:使用apktool直接反編譯apk

第六:把生成的hellodemo.apk安裝到手機,可以看到主界面上已經顯示的是hello,而不再是你好。說明反編譯重新打包成功!

4. 命令行指定類打包成dex文件

生成了jar後,我們就可以採用命令來生成對應的dex了,我們採用dx命令來生成,這里命令主要在Android sdk下bulid-tools中的dx工具。

出現這個問題是打包生成jar的時候,直接復制了test.class文件到D盤,路徑是test.class與Test.java裡面的packagename不匹配,只需要乎伍碼把com包整個復制出來就ok了。然後使用 jar cvf D:\test.jar D:\歲哪com\demo\Test.class 命令就可以了。(下面也有另一種命令,完成.classs to .dex)

這里只是演示如何分步打包得到dex文件,其實使用gradle命令更加簡橘知單方便。

tip:工程目錄存放在命名中有空格的路徑下面(如:Program Files),Program Files需要使用「 」包裹,否則在讀取class文件或者寫入dex到該目錄會失敗。

另外有命令直接由.class 生成 .dex文件,其中 dx.jar 在 D:\Program Files"\Android\Sdk\build-tools\28.0.3\lib 下面,需要使用絕對路徑

閱讀全文

與安卓命令行打包相關的資料

熱點內容
dng伺服器是什麼 瀏覽:831
在菜鳥裹裹裡面怎麼取消加密包裹 瀏覽:786
程序員掙錢的五種方法 瀏覽:542
七日殺伺服器進不去怎麼回事 瀏覽:675
qq游戲迷你世界解壓失敗怎麼辦 瀏覽:768
顏色匹配演算法 瀏覽:261
培訓機構學生出勤率演算法 瀏覽:570
波特率演算法 瀏覽:806
單片機為什麼要引入補碼 瀏覽:206
javascript權威編程指南 瀏覽:341
pdf機長 瀏覽:386
五十音圖pdf 瀏覽:867
什麼叫下架伺服器 瀏覽:113
pdf解析度查看 瀏覽:17
如何將word轉pdf 瀏覽:188
我的世界ec伺服器怎麼調配置 瀏覽:261
單片機換標 瀏覽:597
語音系統和方舟編譯器哪個好 瀏覽:320
html用什麼編譯器顯示 瀏覽:188
程序員列印系統 瀏覽:77