當前位置:首頁 » 編程軟體 » app原生編譯打包

app原生編譯打包

發布時間: 2023-03-11 02:30:29

⑴ Android App打包是怎麼回事

Android App打包指的是將APP源碼壓縮成一個apk包的過程,具體步驟如下。

工具:eclipse

  1. 在eclipse中,工程上「右鍵」->導出。

  2. 讓選擇需要打包的工程,直接「Next」,到keystone頁面


  3. 根據自己的情況填寫,點擊「Next」,生成keystore,到下一頁面:

  4. 選擇APK文件生成的位置,點擊Finish,完成,把apk文件安裝到手機上運行看是否正常運行。至此,全部結束!

⑵ android app 打包流程

App 打包

aapt是android中的資源打包工具,打包資源就用它。

打包大致流程:

aapt把resources目錄下的資源生成R.java文件,並為AndroidManifest.xml生成Manifest.java類。

aidl把項目中自定義的aidl文件生成對應的java類。

JavaCompiler把所有的Java源文件編譯成class文件,包括:aapt生成的、aidl生成的、項目中自有的java源文件

使用proguard混淆,並生成一個proguardMapping.xml文件(可選項:可以混淆也可以不混淆)

使用dex工具把所有的class文件生成.dex文件

使用aapt資源打包工具把resources、assets目錄下的資源打包成一個_ap文件

使用apkbuilder把所有的dex、_ap文件、AndroidManifest.xml文件打包成一個未簽名的apk

使用jarsinger生成一個簽名過的apk包

使用zipalign工具對要發布的apk文件進行對齊操作,以便在運行時節約內存。

⑶ 如何將android原生應用改成ant方式編譯

android 程序打包成apk,如果在是命令行方式,一般都要經過如下步驟:
1.用aapt命令生成R.java文件
2.用aidl命令生成相應java文件
3.用javac命令編譯java源文件生成class文件
4.用dx.bat將class文件轉換成classes.dex文件
5.用aapt命令生成資源包文件resources.ap_
6.用apkbuilder.bat打包資源和classes.dex文件,生成unsigned.apk
7.用jarsinger命令對apk認證,生成signed.apk

eclipase手動打包生成apk方式,只不過是eclipase代替我們執行了以上命令而已。

eclipse用起來雖然方便,為什麼要使用Ant批量打包Android應用,對於我來說主要有以下兩方面考慮:
1、我們在發布App的時候,可能需要發送到十幾,甚至幾十個不同的分發渠道,比如360手機市場,網路,應用寶等等,我們可能需要對各個渠道的下載量,用戶存留和用戶使用情況等數據進行分析,比如使用網路移動統計,友盟統計等。為了實現統計功能,我們需要在配置文件中添加一個數據元,來標識我們的應用要發布到哪一個渠道上,因此,若使用傳統的方法,我們每發布一個渠道的版本,就需要修改清單文件中的數據元,然後再使用keystore進行簽名和打包。若只有一兩個分發渠道,工作量還是可以接受的,但是若我們的分發渠道打到幾十個的時候,我們如果再手動的進行修改然後簽名打包發布,那工作量就很可觀了。因此,為解決這種需求,我們採用Ant來實現對Android應用的自動打包。
2、我們做產品的時候,肯定需要經常打不同環境的包,比如開發環境,測試環境,生產環境,這個時候你怎麼辦,如果用傳統方法,你打開發環境包你要把你的服務端IP和圖片伺服器IP改成開發的,打包,然後打測試的包,你又要改成測試伺服器IP和圖片伺服器IP,這樣多麻煩,如果你把這服務端IP和圖片伺服器IP,配置到一個xml文件里,用ant打包方式實現自動替換,多方便。

⑷ 編譯好的APK怎麼打包進Android鏡像

有一些apk 文件比較重要的,想直接打包到系統中,開機就能使用。網上網路了一下,只有說如何把apk文件打包到system.img 裡面,應該也是類似的。試試參考是否行。
把第三方或自己開發的apk文件編譯到系統文件(system.img)中的方法:
1 (1)源碼編譯後,把apk拷貝到out\target\proct\generic\system\app中。
(2) 執行命令make snod , 把添加的spk編到system.img 中
缺點:執行make clean 後,再次make 完畢需要重新執行上面操作。
2 "方法一"的改進。
(1) 新建一個文件夾目錄,用來存放apk文件
mkdir packages/apps/Prebuilt_apps
cd packages/apps/Prebuilt_apps
在Prebuilt_apps中新建make文件
vi Android.mk
並寫入
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_POST_PROCESS_COMMAND := $(shell cp -r $(LOCAL_PATH)/*.apk $(TARGET_OUT)/app/)
保存退出。
(2) 把需要編譯的apk拷貝到目錄Prebuilt_apps下,執行make ,Prebuilt_apps中的apk就會考被到out\target\proct\generic\system\app中。
(3) 執行make snod 。完成。
此方法執行make clean 後,再次make 完畢,只需要make snod即可(有時make後,out\target\proct\generic\system\app沒有需要添加的apk,此時再make一次即可,速度很快)。
-----------------------
感謝11樓提供的關於編譯成功但無法運行問題的解決方法。
解壓apk,如其中lib(.so)文件,把 .so文件到system\lib下,再編譯。
本人在模擬器上直接加入angrybird.apk(憤怒的小鳥)編譯,編譯後無法運行。把libangrybirds.so拷貝到system\lib下,再編譯後就可以運行

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:741
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1005
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:712
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:874
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:773
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1120
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:346
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:224
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:910
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:869