導航:首頁 > 操作系統 > android多渠道打包工具

android多渠道打包工具

發布時間:2022-07-01 09:07:30

㈠ 多渠道打包的apk哪個文件夾裡面

相信每位玩機的人對APK文件都不陌生。你可能每天都與APK文件打交道,無論是安裝和卸載有用的應用工具、插件、好玩的游戲等等。。。你可曾知道這些每天都伴隨著你的APK文件是什麼嗎?怎樣對它們作些修改呢?比如說:對英文版進行漢化、修改功能、修改文字描述、去掉廣告等等。本文介紹APK的基本知識、結構、APK文件的解包、打包及簽名,以及對APK文件的常規修改。

1.APK文件簡介
APK是androidPackage的縮寫,即即Androidapplicationpackage文件或Android安裝包。每個要安裝到Android平台的應用都要被編譯打包為一個單獨的文件,後綴名為.apk。APK文件是用專業軟體eclipse編譯生成的文件包,其中包含了應用的二進制代碼、資源、配置文件等。通過將APK文件直接傳到Android手機中執行即可安裝。APK文件其實就是zip格式,但其擴展名被改為apk,用解壓軟體可以直接打開。通過WinRAR或UnZip解壓後,你會看到有幾個文件和文件夾。一個典型的APK文件通常有下列內容組成:AndroidManifest.xml程序全局配置文件classes.dexDalvik位元組碼
resources.arsc
編譯後的二進制資源文件
META-INF\該目錄下存放的是簽名信息res\
該目錄存放資源文件
assets\該目錄可以存放一些配置文件
下面對這些文件和目錄做些基本的注釋和介紹。•AndroidManifest.xml
該文件是每個應用程序都必須定義和包含的文件,它描述了應用程序的名字、版本、許可權、引用的庫文件等等信息。需要解包後才能加以閱讀。
•classes.dex文件
classes.dex是java源碼編譯後生成的java位元組碼文件。dex是DalvikVMexecutes的全稱,即AndroidDalvik執行程序,並非JavaME的位元組碼而是Dalvik位元組碼。•resources.arsc
編譯後的二進制資源文件。•META-INF目錄
META-INF目錄下存放的是簽名信息,用來保證apk包的完整性和系統的安全。在eclipse編譯生成一個apk包時,會對所有要打包的文件做一個校驗計算,並把計算結果放在META-INF目錄下。這就保證了apk包里的文件不能被隨意替換。比如拿到一個apk包後,如果想要替換裡面的一幅圖片,一段代碼,或一段版權信息,想直接解壓縮、替換再重新打包,基本是不可能的。如此一來就給病毒感染
和惡意修改增加了難度,有助於保護系統的安全。•res目錄
res目錄存放資源文件。包括圖片,字元串等等。解包後,幾乎所有可能的修改和編輯工作基本都在這里。•assets目錄
assets目錄可以存放一些配置文件,這些文件的內容在程序運行過程中可以通過相關的API獲得。
2.APK文件的解包和打包
APK文件是用專業軟體eclipse編譯生成的文件包。在網上可以找到許多軟體來對APK的內容進行反編譯,例如:可以通過AXMLPrinter2工具和命令:java-jarAXMLPrinter2.jarAndroidManifest.xml解開在apk中的AndroidManifest.xml。最近,業界有一個功能強大的解包打包工具包apktool,可以在Windows下用來方便快速地對APK文件進行解包和打包,給修改和編輯工作帶來許多方便。下面來介紹它的使用。
1)APKtool軟體包
APKtool軟體包有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聯合用於打包。2)APK文件的解包
下面以解開Contacts.apk為例。首先把Contacts.apk復制到當前工作目錄下(例:Test)。在DOS下打入命令apktooldContacts.apkABC
這里「d」表示要解碼。Contacts.apk是要解包的APK文件。ABC是子目錄名。所有解包的文件都會放在這個子目錄內。3)APK文件的打包在DOS下打入命令
apktoolbABCNew-Contacts.apk這里「b」表示要打包
ABC是子目錄名,是解包時產生的子目錄,用來存放所有解包後的和修改後的文件。
New-Contacts.apk是打包後產生的新的APK文件。4)Framework框架文件
在解開APK文件時,apktool需要框架文件(framework-res.apk)來解碼和打包。Apktool已經包含了標準的框架,所以在大多數APK文件的解包時,不需要另外提供框架文件。但是,某些製造商使用了他們自己的框架文件,為了解包,就不得不從手機中把框架文件(framework-res.apk)提取出來,然後安裝到計算機。安裝命令是:
apktoolifframework-res.apk
安裝後就會得到:~\apktool\framework\1.apk5)解包、解包和簽名批處理
在實際使用時,可能對多個APK文件進行處理。方便的做法是寫成批處理文件。打包和簽名可以一次完成。
解包批處理命令:

for%%iin(*.apk)dojava-jarapktool.jard%%i_%%i&&move_%%iModifying_Files&©%%iBackuped_Raw_Files&&@echoFile[%%i]unpackingprocessiscompleted!

打包和簽名批處理命令:
for/d%%iin(*)docd..&&java-jarapktool.jarbModifying_Files\%%i&&
java
-jar
signapk.jar
testkey.x509.pem
testkey.pk8
Modifying_Files\%%i\dist\*.apk%%i&&ren%%iNew%%i&&moveNew%%iModified_Signed_Files&&@echo%%iCompleterepackingandSigning!&&cdModifying_Files

㈡ android studio多渠道打包什麼方式比較好

第一就是配置:在項目的build.gradle裡面配置 先上圖,再上代碼。

第二步,就是打包。(網上有介紹用命令打包,可是我這人太懶,發現了個小竅門,直接在android studio 裡面進行。)上圖(另外,後面我還是補上了gradle命令打包的介紹。大家可以看看http://my.oschina.net/aibenben/blog/370985)

如果沒有keystore,先創建一個,默認為.jks文件,一樣的。

大家這里創建完後,可以再回頭看看前面配置的build.gradle裡面signingConfigs的內容。是不是就懂了(其實我這里有一個疑問,感覺如果用我這種方式去打包,簽名文件都沒有去讀取配置文件裡面的了)

㈢ android 多渠道打包的話極光還可以使用嗎

多渠道打包和極光不沖突吧
多渠道打包是相當於給apk做了個標識
用戶從不同的渠道下載會有不同的標識
極光推送依賴的只是手機設備唯一標識和你自己設置的別名等

㈣ android studio為什麼要做多渠道打包

文檔說明,渠道信息通常需要在AndroidManifest.xml中配置如下值:
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>11

上面的value值Channel_ID就是渠道標識。我們的期望的就是在編譯時候這個值能夠自動變化以滿足區分多渠道的需求。
(一)在AndroidManifest.xml里設置動態渠道變數
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />123123

(二)在build.gradle設置proctFlavors
這里假定我們需要打包的渠道為酷安市場、360、小米、網路、豌豆莢
android {
proctFlavors {
kuan {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "kuan"]
}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
qh360 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]

㈤ Android Studio有哪些非常好用的插件

  1. android-postfix-plugin可根據後綴快速完成代碼,這個屬於拓展吧,系統已經有這些功能,如sout、notnull等,這個插件在原有的基礎上增添了一些新的功

  2. AndroidAccessors快速生成get和set方法的插件,其實系統的也有類似功能,這個更快。

  3. Lifecycle-Sorter

  4. 可以根據Activity或者fragment的生命周期對其生命周期方法位置進行先後排序, 快捷鍵Ctrl + alt + K

  5. JsonOnlineViewer

  6. 可實現直接在android studio中調試介面數據,可以選擇請求類型,自定義請求頭及請求體,json數據格式化後展示

  7. CodeGlance

  8. 可用於快速定位代碼,類似於Sublime編輯器右側定位視圖

  9. idea-android-studio-plugin

  10. IntelliJ IDEA / Android Studio plugin with some tools and usability improvements

  11. folding-plugin

  12. 可以給資源文件分組,並且不移動文件,也不會創建文件夾:Android File Grouping Plugin

  13. Android Drawable Importer

  14. 為了適應所有Android屏幕的大小和密度,每個Android項目都會包含drawable文件夾。任何具備Android開發經驗的開發人員都知道,為了支持所有的屏幕尺寸,你必須給每個屏幕類型導入不同的畫板。Android Drawable Importer插件能讓這項工作變得更容易。它可以減少導入縮放圖像到Android項目所需的工作量。Android Drawable Importer添加了一個在不同解析度導入畫板或縮放指定圖像到定義解析度的選項。這個插件加速了開發人員的畫板工作。

  15. Android ButterKnife Zelezny

  16. 用於在活動、片段和適配器中,從所選的XML布局文件生成ButterKnife注入。該插件提供了生成XML對象注入的最快方式。

  17. Android Holo Colors Generator

  18. 開發Android應用程序需要偉大的設計和布局。Android Holo Colors Generator則是定製符合喜好的Android應用程序的最簡單方法。Android Holo Colors Generator是一個允許你為你的應用程序隨心所欲地創建Android布局組件的插件。此插件會生成所有必要的可在項目中使用的相關的XML畫板和樣式資源。

  19. Android Parcelable code generator

  20. 生成實現了Parcelable介面的代碼的插件。在你的類中,按下alt + insert鍵彈出插入代碼的上下文菜單,你會看到在下面有一個Parcelable,如下所示。選擇它之後,就會在你的類當中插入實現了Parcelable介面的代碼。從此不用再手動寫Parcelable代碼

  21. AndroidCodeGenerator

  22. 可以生成ViewHolder和findView方法的代碼。尤其是在Adapter實現類的getView當中很有用。

  23. Android Layout ID Converter

  24. 生成findView代碼的使用方法。

  25. SelectorChapek for Android

  26. 生成Selector的插件。你需要在drawable文件夾中右鍵,在彈出的菜單中選擇Generate Android Selectors,如下所示,它就會根據你的幾個drawable文件夾里的資源的命名,幫你生成Selector代碼。當然,你的資源文件需要根據約定的後綴來命名。比如按下狀態為_pressed,正常狀態為_normal,不可用狀態為_disable,等等

  27. genymotion-gradle-plugin

  28. 不同於圖形化的genymotion插件,這個允許你通過腳本來配置,創建device。

  29. sdk-manager-plugin

  30. SDK管理插件,自動檢測更新並下載。

  31. otto-intellij-pluginotto事件導航工具。

  32. dagger-intellij-plugin

  33. dagger可視化輔助工具。

  34. eventbus-intellij-plugin

  35. eventbus導航插件

  36. eventbus3-intellij-plugin

  37. eventbus導航插件

  38. strings-xml-tools

  39. 管理Android工程中字元串國際化的插件

  40. gradle-packer-plugin

  41. Android多渠道打包工具。

  42. gradle-retrolambda

  43. 在java 6 7中使用 lambda表達式的插件。

  44. lint-cleaner-plugin

  45. 移除Android中無用資源。

  46. dexcount-gradle-plugin方法數計算,對於較大應用避免方法爆棚很有用。

  47. android-unit-test

  48. 添加Android單元測試。

  49. robolectric-gradle-plugin

  50. Robolectric測試輔助工具。

  51. maven gradle 依賴支持自動補全。idea-markdownmarkdown插件

詳細教程

㈥ android 什麼是多渠道打包

寫Android應用的人類每次發布App都需要面對數十個市場,而為了能夠採集到市場的表現數據,就必須為每一個市場生成相應的apk包,也就是俗稱的渠道包。

㈦ android python多渠道打包,必須使用代碼方式嗎

Python在這里的作用是用來解壓apk,添加空渠道文件(如果在META-INF目錄內添加空文件,可以不用重新簽名應用),重新打包。
所以在寫程序的時候,必須通過代碼方式動態獲取渠道信息(從剛才添加的空渠道文件獲取),並傳給統計平台或者是自己的伺服器。

㈧ 求教Android Studio 多渠道打包問題,分數好說

最後去google了一番,發現有些方法,是在gradle文件里切換各種不同的AndroidManifest.xml文件,感覺這樣也太麻煩些了。。。後面搜索了些,發些大家寫得都差不多,發現一個在gradle利用manifestPlaceholders這個屬性來替換渠道值的方法,但我按照這個方法,沒有成功,我就去扒官方的文檔才徹底搞定。下面就講講怎麼實現的吧。
一般用渠道的統計無非是用友盟或者其它之類的,今天就以友盟的為例吧。
渠道信息一般在AndroidManifest.xml中修改以下值:

Java

<meta-data android:name="UMENG_CHANNEL" android:value="wandoujia" />

<meta-dataandroid:name="UMENG_CHANNEL"android:value="wandoujia"/>

首先你必須在AndroidManifest.xml中的meta-data修改以下的樣子:

Java

<meta-dataandroid:name="UMENG_CHANNEL"android:value="${UMENG_CHANNEL_VALUE}" />

<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}"/>

其中${UMENG_CHANNEL_VALUE}中的值就是你在gradle中自定義配置的值。
build.gradle文件就利用proctFlavors這樣寫:

Java

proctFlavors {wandoujia {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]} {manifestPlaceholders = [UMENG_CHANNEL_VALUE: ""]}c360 {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"]}uc {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"]}}

proctFlavors{
wandoujia{
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"wandoujia"]
}
{
manifestPlaceholders=[UMENG_CHANNEL_VALUE:""]
}
c360{
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"c360"]
}
uc{
manifestPlaceholders=[UMENG_CHANNEL_VALUE:"uc"]
}
}

其中[UMENG_CHANNEL_VALUE: "wandoujia"]就是對應${UMENG_CHANNEL_VALUE}的值。
這樣生成apk時,選擇相應的Flavors來生成指定渠道的包就可以了,而且生成的apk會自動幫你加上相應渠道的後綴,非常方便和直觀。
多渠道打包從此就非常快捷了,今天就寫到這里,以後Android studio有相應的tips還是會分享給大家。

㈨ android studio 怎麼打包各平台apk

(1)Android Studio菜單Build->Generate Signed APK

(2)彈出窗口

(3)創建密鑰庫及密鑰,創建後會自動選擇剛創建的密鑰庫和密鑰(已擁有密鑰庫跳過)
點擊「Create new...」按鈕創建密鑰庫

Key store path:密鑰庫文件的地址
Password/Confirm:密鑰庫的密碼
Key:
Alias:密鑰名稱
Password/Confirm:密鑰密碼
Validity(years):密鑰有效時間
First and Last Name:密鑰頒發者姓名
Organizational Unit:密鑰頒發組織

㈩ android多渠道打包

渠道打包就是分不同的市場打包,比如安卓市場,網路市場,Google市場,360市場等等,太多了。分渠道打包目的是為了針對不同市場做出不同的一些統計,數據分析,收集用戶信息。具體你可以看看umeng提供一些開源的免費類庫的統計服務。

閱讀全文

與android多渠道打包工具相關的資料

熱點內容
程序員寫什麼代碼最好 瀏覽:979
大尺度電影名字 瀏覽:897
重生民國收母 瀏覽:723
男主當鴨子的韓劇電影 瀏覽:488
人乳奶水電影 瀏覽:211
台灣鏡花風月系列 瀏覽:551
主角叫江辰的重生小說 瀏覽:608
李采潭演的都是真的嗎 瀏覽:512
日本女人切腹大尺度電影 瀏覽:637
vr電影在哪看 瀏覽:86
法國四級電影有哪些 瀏覽:558
男主角叫林楓得到系統的小說 瀏覽:820
pdf列印白邊 瀏覽:612
重生異界收母收姨 瀏覽:801
韓國女同性戀影片 瀏覽:192
信念科幻電影 瀏覽:791
javaiocp 瀏覽:702
看免費大片網站 瀏覽:849
h5游戲源碼論壇 瀏覽:692
視覺表現pdf 瀏覽:555