當前位置:首頁 » 編程軟體 » 編譯生成apk

編譯生成apk

發布時間: 2022-09-24 12:20:28

A. android 工程 如何一鍵編譯打包成apk

打包步驟:

1、生成keystore

按照下面的命令行在C:ProgramFilesjavajdk1.6.0_10in>目錄下,輸入keytool-genkey-aliasandroid.keystore-keyalgRSA-validity100000-keystoreandroid.keystore

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

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

圖-2EclipseAndroid打包工具

接下來的步驟就是不斷的next。下面僅貼出圖片,不解釋。

step2:選擇打包的項目

step3:選擇生成的EclipseAndroid.keystore文件並輸入密碼

step4:選擇aliaskey並輸入密碼

step5:最後選擇生成androidapk文件的目錄及文件名

最終生成的apk文件。

B. 如何在Android源代碼環境下編譯生成apk

谷歌專門有個網站維護源碼的,用的是git工具,整個源碼下下來起碼3G以上,源碼裡面有很多mk文件。
你要是想要系統許可權,可以用一種工具,把你的apk包裡面的標識換成系統標識。我記得那個工具很小,只要用命令行運行下就行,不過你得找到相應的系統標識。

C. .e4a文件怎樣編譯成.apk文件

1
有沒有載入framework-res.apk構架?在編譯一些系統程序時需要先載入framework-res.apk這個系統構架。
2
反編的文件及framework-res.apk是不是官方原版未改動過的?很多時候出錯是因為反編的文件是別人或自己改動過的,建議直接從官方固件中提取文件進行編譯。
3
技巧說明使用的工具是否版本過低?目前apk編譯工具apktool已更新到1.5.2了,這里有本人珍藏的互動式界面版下載:點我下載
4
技巧說明以上都沒有問題?反編後什麼也不改回編也出錯?那隻有一個方法了:可以嘗試一下用低版本的apktool進行反編譯,然後在用高版本的apktoo工具回編譯
5
打開要編譯文件夾目錄下的
apktool.yml,修改apkfilename參數為
非中文,問題可以解決
6
反匯編時沒有生成apktool.yml,進行反匯編時,改用命令apktool
d
-r
xx.apk
xx便可以解決(加上了-r選項)

D. Android APK編譯流程

apk 是Android Package的簡寫, 在平時的開發過程中,通過點擊 Run app 按鈕 或者 在命令行中輸入

這樣Android Studio就會啟動構建流程,最終輸出一個我們想要的APK。

直達官網介紹

對於小白來說,上面一張圖已經可以解釋apk的構建過程了,不過對於Andoid開發者而言還需要了解一些更詳細的構建過程。

詳細的對應步驟 和 使用工具如下:

資源文件(res文件夾下的文件)通過 AAPT(Android Asset Packaging Tool)打包生成R.java類(資源索引表)、.arsc資源文件 和res文件。

resources.arsc 是一個App的資源索引表,通過R.java 文件 和 resources.arsc 可以定位到資源的內存地址,resources.arsc文件的作用是通過一樣的ID,根據不同的配置索引到最佳的資源顯示在UI中。

AIDL (Android Interface Definition Language), 是Android介面定義語言,是Android提供的IPC (Inter Process Communication,進程間通信)的一種獨特實現。
如果有aidl文件,這個階段會生成對應的Java介面文件。

R.java文件、工程源碼文件、aidl.java文件, 在這一步通過javac生成.class文件。

源碼.class文件和第三方jar或者library通過dx工具打包成dex文件

Android系統的Dalvik虛擬機的可執行文件為DEX格式,所以這里會將上一步中生成的.class文件 和 引用的第三方jar等過程中的.class 一起通過dx工具打包成dex文件

apkbuilder工具會將所有沒有編譯的資源、.arsc資源、.dex文件打包到一個完成apk文件中

tips:

apksigner工具會對未簽名的apk驗證簽名。得到一個簽名後的apk(signed.apk)

apksigner 是google 退出的V2簽名方式
Jarsigner 是之前一直使用的V1簽名方式

可以通過在命令行中輸入apksigner --help來獲取詳情信息,如果沒有特殊需求,使用下面命令即可完成簽名

release mode 下使用 aipalign進行align,即對簽名後的apk進行對齊處理

所謂對齊,主要過程是將APK包中所有的資源文件距離文件起始偏移為4位元組整數倍,這樣通過內存映射訪問apk文件時的速度會更快。對齊的作用主要是為了減少運行時內存的使用。

zipalign是一個android平台上整理APK文件的工具,它對apk中未壓縮的數據進行4位元組對齊,對齊後就可以使用mmap函數讀取文件,可以像讀取內存一樣對普通文件進行操作。如果沒有4位元組對齊,就必須顯式的讀取,這樣比較緩慢並且會耗費額外的內存。

參考文章:
Android-Studio配置構建
淺談Android打包流程
apk打包流程

END!

E. 怎樣修改APK文件!修改後怎麼打包成APK

1、首先打開apk反編譯軟體,點擊「打開」一個apk。或者直接把需要反編譯修改的apk拖入到窗口中。

F. APK怎樣編寫

第一部分:apk應用介紹,解包和打包,常用軟體
相信每為機友對APK文件都不陌生。你可能每天都與APK文件打交道,無論是安裝和卸載有用的應用工具、插件、好玩的游戲等等。。。尤其是最近關於2.3.4 XXJVP ROM的漢化,更成為論壇里的熱門話題。你們可曾知道ROM是怎樣漢化的嗎?說來容易做來難。這里要涉及很廣泛的知識、手段,以及要花大量的時間。
1. APK文件簡介
APK是Android Package的縮寫,即Android application package文件或Android安裝包。每個要安裝到Android平台的應用都要被編譯打包為一個單獨的文件,擴展名為 .apk。APK文件是用專業軟體eclipse編譯生成的文件包,其中包含了應用的二進制代碼、資源、配置文件等。通過將APK文件直接傳到Android手機中執行即可安裝。APK文件其實就是zip格式,但其擴展名被改為apk,在Windows下用解壓軟體WinRAR/WinZIP/7-Zip可以直接打開。解壓後,你會看到有幾個文件和文件夾。一個典型的APK文件通常有下列內容組成:
AndroidManifest.xml 程序全局配置文件
classes.dex Dalvik位元組碼
resources.arsc 編譯後的二進制資源文件
META-INF\ 該目錄下存放的是簽名信息
res\ 該目錄存放資源文件
assets\ 該目錄可以存放一些配置文件
下面對這些文件和目錄做些基本的注釋和介紹:
• AndroidManifest.xml
該文件是每個apk應用程序都必須包含的文件,它描述了應用程序的名字、版本、許可權、引用的庫文件等等信息。
• classes.dex文件
classes.dex是java源碼編譯後生成的java位元組碼文件。dex是Dalvik VM executes的全稱,即Android Dalvik執行程序。利用解析工具可以將其轉換成java來加以閱讀和理解。
• resources.arsc
編譯後的二進制資源文件。在做主題美化時要常與這個文件打交道。
• META-INF目錄
META-INF目錄下存放的是簽名信息,有三個簽名文件,用來保證apk包的完整性和系統的安全。在eclipse編譯生成一個apk包時,會對所有要打包的文件做一個校驗計算,並把計算結果放在META-INF目錄下。這就保證了apk包里的文件不能被隨意替換。比如拿到一個apk包後,如果想要替換裡面的一幅圖片,一段代碼, 或一段版權信息,想直接解壓縮、替換再重新打包,基本是不可能的。如此一來就給病毒感染和惡意修改增加了難度,有助於保護系統的安全。
• res目錄
res目錄存放資源文件。包括圖片,字元串等等。res下有若干個子目錄,主要為drawable,layout,xml。
解包後,幾乎所有可能的修改和編輯工作基本都在這里。漢化ROM的主要工作就在這里。漢化ROM實際上就是漢化所有的apk應用程序的字元文件。
• assets目錄
assets目錄可以存放一些配置文件,這些文件的內容在程序運行過程中可以通過相關的API獲得。
下面以「設置」應用程序Settings.apk為例。用WinRAR打開文件後,看到以上介紹的六項內容。現在,即使你已經對文件解壓,你還是無法直接閱讀每個文件的內容。為了讀出這些文件的內容,從而進行進一步的修改和編輯,你就必須具有相應的工具了(請到第二節)。
2. APK應用程序的解包和打包工具
這一節主要介紹在Windows系統中常用的幾個工具包,用來對apk應用程序進行解包、打包、反編譯、解析。所有apk工具包都要求java環境(這個我就不介紹了,自己學習去吧)。這些工具可以從網上各個論壇獲取。我在近一個月里收集了幾個常用的工具包,我會打包上傳與有志於對apk進行操作的機友分享。主要推薦有三個工具包。
1) apktool
apktool可能是當今最為流行的apk工具包,由解包、打包、簽名程序組成。被稱之為「apk反編譯利器」。去Google一下apktool,有非常多的資源,無論是軟體下載,還是使用教程。對非三星的應用程序進行操作,很好用。
打開apktool工具包,看到如下內容:
Akp程序的解包和打包軟體由2個程序來完成:apktool.jar 和 aapt.exe。
另外提供一個批處理文件:apktool.bat,其內容為:
java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9
運行apktools.jar需要java環境(1.6.0版本以上)。apktool.jar用於解包,apktool.jar和aapt.exe聯合用於打包。testkey.pk8和testkey.x509.pem是簽名程序。
解包命令:
apktool d xxxxxx.apk ABC
這里「d」表示要解碼。Xxxxx.apk是要解包的APK文件。ABC是子目錄名。解包的文件會放在這個子目錄內。
打包命令:
apktool b ABC yyyyy.apk
這里「b」表示要打包,ABC是子目錄名,是解包時產生的子目錄,用來存放所有解包後的和修改後的文件。yyyyy.apk是打包後產生的新的APK文件。
在上傳的apk工具包里,已經另外加了兩個批處理文件:Unpack-apk.bat和Repack-apt.bat。前者用於apk的解包過程,後者用於編輯後的文件的打包和簽名。把待解包的apk文件放到Unpack-apk.bat的同一個目錄里,雙擊Unpack-apk.bat,apk文件解包開始,產生3個子文件夾,解包後的文件被放在Working_APK文件夾內。詳細內容將在第二部分描述。另外,批處理文件允許同時對多個apk文件順序進行解包和打包。
注意:文件名里不允許有空格,不能有中文。
使用前,要先安裝框架文件:apktool if framework-res.apk
如果是三星系統,還要安裝:apktool if twframework-res.apk
2) apk manager
apk manager是另一個「apk反編譯利器」。它比apktool工具包還要強大些。三星的許多apk系統應用程序用了三星的閉源系統,用apktool可以解包,但是打包不成功。這時,apk manager就好用了。
打開apk manager工具包,看到如下內容。軟體都放在other子目錄里。運行apk manager要求adb工具包(見下圖中的3個adb文件)。把待解包的apk文件放到place-apk-here-for-modding子目錄里,雙擊腳本批處理程序Script.bat,選擇選項:9,產生一個子文件夾projects,解包後的文件被放在這個子文件夾內。詳細內容將在第二部分描述。
在使用時,有時apktool和apk manager交替使用,一個不行就用另外一個。 所以,在編輯apk應用程序時兩者都要掌握。
注意:文件名里不允許有空格,不能有中文。
使用前,要先安裝框架文件:apktool if framework-res.apk
如果是三星系統,還要安裝:apktool if twframework-res.apk
3) Dex2jar和XJad
該方法不是直接對apk文件進行解包。它是首先提取apk文件內的classes.dex文件,然後使用dex2jar.jar工具包將classes.dex解包成jar文件,再通過XJad 或者其他class反編譯工具進行java反編譯,最後生成java源文件。
但是,使用這個工具包無法進行classes.dex的還原(當然也無法進行apk的打包)。盡管如此,這個工具包仍然很重要,因為它把classes.dex文件轉換成了可以更容易閱讀的java源文件。在修改apk應用程序時,必不可少,是一極強的輔助工具。相比之下,apktool和apk manager反編譯後得到的是Dalvik 反編解碼 (Dalvik opcodes),需要很專業的知識來閱讀,很不直觀。如果你讀懂了java源文件,那修改相對應的Dalvik碼不就容易多了嗎。
4) 其它工具包簡介
此外,還有許多工具包可用。這些也容易在網上找到。
a) DoAPK
DoAPK實際上就是apktool工具包。有人把apktool寫成了帶窗口界面的可執行文件。
b) Google Smali
有兩個程序:baksmali.jar和smali.jar。baksmali.jar用來反解析dex和odex文件,得到Dalvik碼。然後用smali.jar還原成dex文件。例如,在修改狀態欄時間顯示顏色時,要用的這兩個解析程序。
c) AXMLPrinter2.jar
AXMLPrinter2.jar對apk文件內的 AndroidManifest.xml和main.xml進行操作,將XML還原成文本文件,便於閱讀。
d) Apkdb
是一個集成apktool,smali,Dex2jar,簽名等功能的工具。
e) 其它工具
不再介紹。自己動手到網上去搜索吧。
我把這些收集到的apk工具包打包上傳,供你們使用,免得你們找來找去。
集成Apk工具包下載地址:
http://u.115.com/file/clnar7bm
第二部分:三星閉源系統apk文件的處理,漢化和簽名

在這一部分,我們要進入實戰。首先,利用一個具體的例子來闡述apk工具包的使用,對apk文件進行解包、漢化、打包和簽名。然後,我們來對付三星閉源系統的apk程序,達到我們修改、漢化和美化的目的。我們假定所有apk文件都是單個獨立文件,不含odex文件(在官版ROM中,通常每個apk都分成兩部分,第一部分是apk,第二部分是odex。將它們合並是另一個題目,這里不作敘述)。

1. 配置框架(Framework)環境

在處理APK文件時,apktool需要框架文件(framework-res.apk)來解碼和打包。apktool已經包含了標準的框架,所以在大多數APK文件的解包時,不需要另外提供框架文件。但是,某些製造商(例如三星)使用了他們自己的框架文件,為了解包,就不得不從手機中或從ROM中把框架文件(framework-res.apk)提取出來,然後安裝到計算機。安裝命令是:

apktool if framework-res.apk
安裝後就會得到:~\apktool\framework\1.apk
注意:三星系統(例如:I897)有兩個框架文件:framework-res.apk和twframework-res.apk。在使用apktool之前,要安裝這兩個框架文件。安裝方法同上:

apktool if framework-res.apk
apktool if twframework-res.apk
安裝後就會得到:~\apktool\framework\1.apk和
~\apktool\framework\2.apk。
許多人拿來apktool工具包用,說解不開包,運行出錯。原因是沒有配置框架環境。

2. akp文件的漢化和修改

我首先來講對一般的(非三星)apk應用程序進行解包、漢化和打包。為你們方便和敘述目的,我在上傳的apktool和apk manager工具包里都帶了一個小的apk應用程序SilentBoot_EN.apk。這個程序是「靜音啟動」,就是通過這個程序來設置開機時是否有開機音樂。我在我的2.3.4 XXJVP ROM里也集成了這個akp程序,現在你們自己來把它漢化一下吧。我們用apktool工具包來做。

漢化步驟如下:

1) apk程序解包首先把SilentBoot_EN.apk復制到Unpack-apk.bat的同一個目錄里(我已經放好了)

雙擊Unpack-apk.bat,apk文件解包開始。DOS窗口出現,顯示解包進程和一系列信息,直到解包結束。

apk-04.gif
解包結束後,在工作目錄下產生3個子文件夾:New_APK,Raw_APK和Working_APK。解包了的文件被放在Working_APK文件夾內,原始apk文件(SilentBoot_EN.apk)被復制一份到Raw_APK文件夾保存。見界面截圖如下:
apk-05.gif
在Working_APK字文件夾里產生了一個子夾_SilentBoot_EN.apk,裡面存放所有解包後的文件。在_SilentBoot_EN.apk之下有兩個文件夾 /res和/smali,還有兩個文件AndroidManifest.xml和apktool.yml。用文本編輯器打開AndroidManifest.xml看看,是不是在第一部分里介紹的內容。你要修改的內容在/res文件夾內。
打開/res文件夾,看到裡面有5個子夾,/drawable存放apk應用的圖標(Icon),drawable-hdpi存放其它要用的圖形文件,/layout是apk的布局文件,/values里是字元文件。漢化apk就是漢化/alues文件夾內string.xml文件的內容。

2) 字元漢化

這里只適用於懂英語的同學。如果你不懂英語,就照表抄課好了。

用文本編輯器打開string.xml,其內容為:

<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="app_name">Silent Boot</string>
<string name="labelEnabled">Enable Silent Boot</string>
<string name="textEnabled">Device is muted on shutdown.</string>
<string name="textDisabled">Device is NOT muted on shutdown.\nBoot sound is played if the device is shut down with sounds enabled.</string>
</resources>
要漢譯的字元是:Silent Boot,Enable Silent Boot,Device is muted on shutdown,Device is NOT muted on shutdown.\nBoot sound is played if the device is shut down with sounds enabled。
先別急,我現在來教你怎樣處理文件。有兩種漢化方法:a) 正規漢化,b) 強制漢化。

a) 正規漢化

一個apk應用在漢化後應該能在英文和中文系統下都能使用。/values目錄下的是英文語言包。為了建一個中文語言包,與/values並行創建一個子文件夾:/values-zh-rCN(必須用這個文件名!)。這里values-zh是中國地區語言包(包含港澳台及內地),values-zh-rCN是中文簡體語言包(只包含內地),values-zh-rTW是中文繁體語言包(港澳台)。
把/values文件夾里的strings.xml等語言文件復制進/values-zh-rCN。在我們的例子中,只有strings.xml一個文件。
進入/values-zh-rCN,用文本編輯器打開strings.xml,然後你就翻譯吧,把英文描述譯成相應的中文。
例如,我們可以把上面的string.xml文件譯成:
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string name="app_name">靜音啟動</string>
<string name="labelEnabled">開啟靜音啟動</string>
<string name="textEnabled">關機也是靜音</string>
<string name="textDisabled">關機不是靜音\n如果沒有開啟靜音啟動,關機時播放開機音樂。</string>
</resources>
裡面有個操作符「\n」是換行符,迫使換行顯示文本內容。之後存檔,用「另存為」(Save As)存成UTF-8格式。這是保持中文文本的格式。
在作漢化工作時,要對string.xml文件進行修改。有時也需要修改其它xml文件,一個一個地認真查看,一個一個地漢化。
b) 強制漢化

所謂「強制漢化」就是不產生/values-zh-rCN文件夾。而是在/values文件夾內把需要漢化的文件都直接譯成中文。顯然,如果在英文操作系統中沒有中文字型檔的話,強制漢化的apk在英文系統中可能顯示亂碼。所以,建議養成良好習慣,採用「正規漢化」。
高級內容:以上的漢化是修改string.xml,把英文譯成相應的中文就好了,然後打包和簽名。但是,在有些apk文件里,所顯示的字元文字並不都在xml文件里。apk原作者把某些字元寫在代碼中。反編譯後,存放在/smali文件夾里。一層一層地找下去,最後你會看到一大堆Dalvik碼文件,都是以.smali為文件擴展名。舉一個例子,用文本編輯器打開某個.smali文件,看到:

const-string v5, "ServiceMode"
「ServiceMode」會在apk執行時顯示為英文。因此,需要漢化。在I897 ROM里,用工程模式特殊代碼看到的多半屬於這一類。漢譯起來非常花時間。我們要把ServiceMode譯成「服務模式」。怎麼處理呢?你不能把const-string v5, "ServiceMode"直接改成const-string v5, "服務模式"。打包會失敗的。正確的做法是把相應的中文字元用16進制的unicode來表示。例如:把「服務模式」用16進制的unicode表示就是\u670d\u52a1\u6a21\u5f0f 。每一個漢字用4個字元表示,\u表示為16進制的unicode碼。好了,正確的漢譯是:
const-string v5, "\u670d\u52a1\u6a21\u5f0f "
網上有中文字元與16進制unicode碼的對照表或轉換工具。我在這部分提供一張轉換表供你們使用。見附件。
3) Apk打包和簽名

打包操作很簡單,沒有什麼好講的。照著做就行了。

回到apktool目錄,滑鼠雙擊批處理文件Repack-apk.bat,apk文件就打包好了。在Repack-apk.bat批處理中,每個apk文件打包好後就緊跟著進行簽名操作。所以,執行完Repack-apk.bat後,打包和簽名都完成了。

打包和簽名好了的apk文件存放在New_APK文件夾內,文件名加了一個前綴New_。在我們的例子中,所生成的新的apk應用程序為New_SilentBoot_EN.apk。這就是漢化好了的apk程序了。

現在你需要把文件改成你需要的名字:SilentBoot_CN.apk,安裝到手機試一下吧!欣賞一下你自己漢化的apk程序!是不是很爽!有成就感吧!

3. 三星akp文件的漢化和修改

好了,有了以上對apk解包、修改(漢化)、打包、簽名做基礎,我們現在來看怎樣對三星apk進行操作。我們手裡用的是三星I897手機,/system/app目錄下的很多apk應用程序都是三星程序,典型的包括framework-res.apk,twframework-res.apk,TouchWiz30Luancher.apk。由於三星採用自己的閉源系統,對其漢化、修改、打包和簽名有一定難度,目前還沒有發現完全適合於三星apk的專用工具。因此,需要採取特殊手段來達到目的。

apktool對所有三星apk文件都是可以解包的,對某些apk是可以打包簽名的,但是,對另外一些apk的打包總是失敗。這里需要指出的是,即使你對三星apk文件打包簽名成功,這個生成的apk程序也無法在三星手機上運行!原因是三星使用了其閉源的特殊簽名。

由於某些三星apk文件無法用apktool進行打包,所以我們在這一節使用功能更強大的apk manager進行解包和打包。在執行apk manager腳本批處理Script.bat時,有很多選項(見下圖)。我們用到選項9和11。選項9是反編譯(解包),選項11是再編譯(打包)。由於三星不承認其它簽名,所以這里簽名並不重要。但是,如果你在處理非三星的apk文件,那簽名還是需要的,要用的選項12和14。

操作步驟:

1)把待解包的apk文件(例如:TouchWiz30Launcher.apk)放到place-apk-here-for-modding子目錄里
2)雙擊腳本批處理程序Script.bat,你會看到上面的界面
apk-06.gif
3)選擇選項9進行解包,回車,開始解包
4)解包結束後,產生一個子文件夾projects,裡面有一個字文件夾(TouchWiz30Launcher.apk),解包後的文件被放在這個子文件夾內。
5)選擇選項24退出程序
6)按照上一節的方法進入projects/TouchWiz30Launcher.apk文件夾,把string.xml和有關的部分進行了漢化修改
7)修改和漢化結束後,再運行批處理程序Script.bat
8)選擇選項11進行打包。需要的時間較長,請耐心等待打包結束
9)打包結束後,在place-apk-here-for-modding文件夾內產生了一個新的未簽名的apk文件:unsignedTouchWiz30Launcher.apk
為了在手機上運行apk應用程序,簽名是必需的。那怎樣對三星apk應用程序進行簽名處理呢?一個有效的方法就是借用原來解包前apk文件已經有的簽名,把原來的簽名與新的編輯內容進行合成。從而,達到我們解包、修改、漢化、打包和「簽名」的目的,使新的apk程序可以在三星I897上運行。

合成操作步驟:

1)先用WinRAR打開原始的apk文件TouchWiz30Launcher.apk,裡面有3個文件和兩個文件夾。在第一部分講過每一個文件和文件夾的作用。這里不再描述。

apk-07.gif
2)再用WinRAR打開生成的apk文件unsignedTouchWiz30Launcher.apk。 裡面是沒有簽名文件的,就沒有文件夾META-INF,我們也不需要它。
apk-08.gif
3)從unsignedTouchWiz30Launcher.apk中提取我們編輯過的東西。為此,用滑鼠把resources.arsc文件從unsignedTouchWiz30Launcher.apk文件窗口拖進TouchWiz30Launcher.apk的窗口,去覆蓋原來的resources.arsc文件。你也可以先把原來的resources.arsc刪除,然後再做拖入的動作。
4)出現一個參數窗口。在壓縮方式處選擇「Store」(存儲)。然後按「OK」。
apk-09.gif
5)退出WinRAR。結束。新的三星apk應用程序就製作好了,簽名是利用了原始的簽名。文件是TouchWiz30Launcher.apk。
說明:

1)如果修改了/res目錄下的內容,在第3步,就復制resources.ars。如果修改了/smali目錄下的內容,在第3步,就復制classes.dex。
2)只可以替換這兩個文件,別的都不要動。
3)在第4步的壓縮方式,一定要選「Store」。
漢字Unicode編碼對照表下載: Chinese-Unicode.rar (558.06 KB)

到此,第二部分就結束了。最近由於工作很忙,整理和編輯工作受阻,故發布較慢,請諒解!

G. 如何在eclipse中把Android工程編譯為apk安裝文件

1、生成keystore

按照下面的命令行在C:ProgramFilesJavajdk1.6.0_10in>目錄下,輸入

keytool -genkey -alias android.keystore -keyalg RSA -validity100000

-keystore android.keystore

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

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

"Destination APK file "指定APK存儲的位置。單擊"Finish"按鈕,打包完成。

進入"D:My Document",會看到生成的HelloWorld.apk以及sharpandroid證書庫。


H. 手機上怎樣將源碼編譯成apk

這個你就需要工具了!
一般為反編譯工具,這種工具很多,以下給你推薦幾個
APK Editor Pro
ApkCrack
ApkModifie
APK反編譯工具:ApktoolHelper
MT管理器

I. Android的apkplug插件開發具體怎麼編譯生成插件 apk 文件

步驟1:注冊ApkPlug官網賬號:

打開Apkplug官網後,點擊右上角的「注冊」,在跳轉頁面填入相關信息,注冊界面如下:

確認後注冊成功,使用你的賬號登錄網站。你就可以用Apkplug開發應用了
END
步驟2:開發插件

Apkplug中的插件也是一個完整的apk,它與普通應用的區別有以下3點:
1, 插件assets目錄下有一個plugin.xml文檔,通過它可判斷一個工程是主應用還是插件。
2, 插件有一個入口類BundleActivator
3, 插件會外部引用一個osgi.jar文件
開發插件的步驟有如下4步:
1,引入osgi.jar庫文件
Apkplug中插件需要導入的庫文件只有一個osgi.jar。
導入osgi.jar庫文件需要注意一下
osgi.jar文件只能引用不能編譯到apk文件中,否則會出現類沖突的情況
異常代碼:had used a different Lorg/osgi/framework/BundleActivator; ring pre-verification。
osgi.jar包導入方法:

這文件在Apkplug SDK中可以找到。

2,編寫插件入口類BundleActivator
插件啟動時首先調用BundleActivator,其功能類似android中的application類。

public class SimpleBundle implements BundleActivator
{
private BundleContext mcontext = null;
public void start(BundleContext context) throws Exception
{
System.err.println("你好我是插件,我將為你展示啟動acitivty我已經啟動了 我的BundleId為:"+context.getBundle().getBundleId());
}
public void stop(BundleContext context)
{
System.err.println("你好我是插件,我被停止了 我的BundleId為:"+context.getBundle().getBundleId());

}

}
3,編寫plugin.xml配置文件
plugin.xml
是一個配置表,它跟AndroidManifest.xml作用類似。 plugin.xml文檔放置在assets中即可 重要屬性說明:
Bundle-Name 插件名稱 Bundle-SymbolicName 插件包名
-與應用packagename可一一對應 Bundle-Version 插件版本 -1.0.0
Bundle-Activator 插件入口 -與Appliction 類似
Bundle-Activity 插件界面 -多個Activity可用 , 分割
Bundle-Service 插件Service -多個Service可用 , 分割
(v2.0.0新增) Bundle-Receiver 插件廣播 -多個廣播類可用 , 分割
(v2.0.0新增)
4, 編譯生成插件apk文件
插件工程中添加的文件目錄結構如下:

最後編譯運行插件工程,生成的apk文件即為插件文件
END
步驟3:開發主應用

Apkplug 主應用開發分兩步集成:
1. 獲取主應用授權AppAuth。
登錄賬號進入Apkplug後台後,切換到「應用授權頁面」,按要求填寫好應用信息,然後確定,你就擁有了一個等待開發的應用授權AppAuth。應用授權界面如下:

進入「授權列表」頁面,點擊「查看詳情」鏈接,進入「應用詳情界面」,就可以看到已申請的AppAuth,點擊其後面的「復制」,即可直接復制AppAuth,如下圖所示

2. 對接Apkplug SDK 導入相關庫文件。
①配置應用許可權
主應用需要幾個基礎的許可權配置,請將以下的幾個許可權加入到主應用的AndroidManifest.xml中。
<!-- 插件平台需要的許可權! -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE">
</uses-permission>

另外將一下加入到<application></application>節點中
<!-- 插件平台需要的配置! -->
<activity
android:name="org.apkplug.app.apkplugActivity"
android:theme="@style/android:Theme.Light"
android:configChanges="orientation|keyboardHidden"
/>
最後將我們從Apkplug管理後台申請到的AppAuth加入到配置文件中。

<meta-data android:name="apkplug-auth" android:value="xxxxxxxx" ></meta-data>
註:由於3.2.2節中我們直接復制了AppAuth,此處直接粘貼到AndroidManifest文檔中。
如下圖:

②導入SDK庫文件
主應用需要導入兩個文件,將其放入libs目錄中即可。
1, libndkfoo.so
2, Bundle2.0.0.jar
如下圖:

這兩個庫文件在Apkplug SDK中可以找到。
然後:
主應用啟動Apkplug最簡只需要一段代碼即可,建議在Application中啟動框架。

FrameworkInstance frame=FrameworkFactory.getInstance().start(List<BundleActivator>,Context);
將上一步驟開發好的插件apk,放置在主應用工程里的assets路徑下。
如下圖:

END
步驟4:啟動主應用

最後啟動主應用即可。簡單的插件化apk的方法就講完了,有興趣的關注我,下次講雲端託管插件實現應用內更新。

J. 如何用命令行編譯打包生成apk

一、搭建搭建環境
1. 安裝JDK 和 Android SDK
2. 配置環境變數
D:\android-sdk-windows\tools
C:\Program Files\Java\jdk1.6.0_20\bin
3. 例子信息
項目目錄:D:\ProjectDemo
SDK目錄 :D:\android-sdk-windows\platforms\android-8\
二、命令行編譯Android項目
1. 生成R文件
2. Java代碼生成class文件
3. class文件生成dex文件
4. 打包資源
5. 生成apk
6. 創建密匙
7. 簽名apk

熱點內容
2021款es升級了哪些配置 發布:2024-03-28 21:26:44 瀏覽:384
下述調度演算法 發布:2024-03-28 21:22:24 瀏覽:616
捷達哪個配置裝有esp 發布:2024-03-28 21:17:41 瀏覽:196
天氣源碼 發布:2024-03-28 21:14:11 瀏覽:428
使命召喚紅魔浪潮如何配置 發布:2024-03-28 21:13:08 瀏覽:546
nginx安裝php 發布:2024-03-28 21:09:47 瀏覽:669
利用python進行數據分析pdf 發布:2024-03-28 20:33:36 瀏覽:560
php模擬post提交 發布:2024-03-28 20:23:14 瀏覽:542
phptxt下載 發布:2024-03-28 20:12:37 瀏覽:476
如何更衣櫃密碼鎖密碼設置 發布:2024-03-28 19:42:09 瀏覽:484