當前位置:首頁 » 數據倉庫 » aapt怎麼配置
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

aapt怎麼配置

發布時間: 2022-11-20 13:55:05

Ⅰ 如何使用aapt替換apk裡面的asset文件夾

實際開發中經常遇到這樣的需求:一個應用打不同的包時,不同的包 的logo、 應用名,或者應用中的某些標志性的圖片、顯示的文字內容、歡迎語什麼的都要做出相應的改變。 對此,我們不可能將原工程復制出來再重新建立一個工程
實際開發中經常遇到這樣的需求:一個應用打不同的包時,不同的包 的logo、 應用名,或者應用中的某些標志性的圖片、顯示的文字內容、歡迎語什麼的都要做出相應的改變。 對此,我們不可能將原工程復制出來再重新建立一個工程,然後替換成不同的資源再打包。 那麼本文為讀者提供一種相對簡便的方法,有這種需求的友友就可以接著看下去了...
編譯時合並與替換資源,主要用到aapt命令工具:
先看一下aapt命令 跟不同參數時的作用:
命令行界面切換到 aapt 命令所在目錄,輸入aapt 如下:
\
\
可以看出, -s 可以指定尋找資源的目錄,而 overlay 可以合並資源:
比如 ,工程中原有的res 裡面有個字元串 :app_name(Menifest.xml中配置的應用名)
九秀美女直播string>,
在工程中新建兩個資源文件夾res2和res3,裡面分別有兩個字元串: app_name,more
//res2
9秀直播string>
更多2string>,
//res3
MM直播string>
更多3string>,
並在build.grandle里配置如下
aaptOptions { additionalParameters '-S', 'G:/wkplace/AS/NineShow3.0/res2', '-S', 'G:/wkplace/AS/NineShow3.0/res3', '--auto-add-overlay' noCompress 'foo', 'bar' ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:
_*:!CVS:!thumbs.db:!picasa.ini:!*~' }
運行後,應用名會顯示res里的app_name:「九秀美女直播」。這是因為: -s 可以指定多個資源目錄,我們通

Ⅱ aapt命令查看APK信息

        近期在GooglePlay發布版本時遇到一個問題,新版本合入了應用內付費的功能,但是升級到新版本的用戶比以往少太多,不足20%。分析這個問題的原因,原來是由於新版本由於需要做應用內付費,就需要用到一個許可權com.android.vending.BILLING,這個許可權是新版本的新增許可權。

        GooglePlay有一個自動更新應用的功能,且該功能默認是開啟的,因此大部分用戶的應用更新都是通的GooglePlay的自動更新,但是如果新版本較舊版本而言有新增許可權的話,GooglePlay就不會幫你默認更新,則完全需要用戶手動更新升級了。

        綜上,版本發布前除了測試版本的新增功能之外,檢查版本的許可權也是很有必要的,如果有新增的許可權就需要權衡,是針對該許可權的功能重要,還是用戶升級重要。如果新增許可權至是為了一個用戶完全無法感知,對產品完全沒有正面影響的話,那麼就可以考慮去掉該功能。

      說了這么多,那麼回到正題,版本發布前需要堅持版本的許可權,並且與上一版本對比校驗,確認是否有新增或者減少許可權,是版本發布前很有必要執行的一個環節。就想需要確認版本號一樣。那麼怎麼樣去查看一個APK的許可權信息呢?古老一點的辦法就是手機上先安裝老版本,在覆蓋安裝新版本,在手機上看提示。但是這個版本並不靠譜,因為有些許可權是不會展示給用戶的,就想應用內付費需要的許可權com.android.vending.BILLING,我在升級安裝的時候,是提示我沒有新增許可權的。因此想要查看一個是否有新增許可權,還是得查看APK完整的許可權信息。我在網上找了下辦法,發現可以通過aapt命令達到我想要的目的。接下來我就簡單講講aapt命令。

       aapt即Android Asset Packaging Tool,我們可以在SDK的platform-tools目錄下找到該工具。aapt可以查看、 創建、 更新ZIP格式的文檔附件(zip, jar, apk)。 也可將資源文件編譯成二進制文件,盡管你可能沒有直接使用過aapt工具,但是build scripts和IDE插件會使用這個工具打包apk文件構成一個Android 應用程序。接下來我就簡單講下aapt一些簡單的應用。

aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]

badging          Print the label and icon for the app declared in APK.

permissions      Print the permissions from the APK.

resources        Print the resource table from the APK.

configurations   Print the configurations in the APK.

xmltree          Print the compiled xmls in the given assets.

xmlstrings       Print the strings of the given compiled xml assets.

1.1 查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各種詳細信息

      aapt mp badging

      部分效果圖:

1.2 查看許可權

        aapt mp permissions

        效果圖:

1.3 查看資源列表

       aapt mp resources

       一般都會輸出很多的信息,如要全部查看,請用下面這兩句:

       aapt mp resources    > sodino.txt

       sodino.txt

       這樣會把所有的信息通過重定向符">"輸出到sodino.txt文件中,然後再打開該文件即可查看。

1.4 查看apk配置信息

      aapt mp configurations

       部分效果圖:

1.5 查看指定apk的指定xml文件。

      aapt mp xmltree res/***.xml

      以樹形結構輸出的xml信息。

      aapt mp xmlstrings res/***.xml

      輸出xml文件中所有的字元串信息。

       以上介紹的只是aapt比較簡單的查看應用命令,還有其他一些命令沒有做介紹,後續再工作中用到後會繼續講解。

Ⅲ 如何修改android aapt源碼實現自定義package ID

反編譯android代碼並在eclipse中查看:apk反編譯得到程序的源代碼、圖片、XML配置、語言資源等文件下載上述工具中的apktool,解壓得到3個文件:aapt.exe,apktool.bat,apktool.jar ,將需要反編譯的APK文件放到該目錄下,打開命令行界面(運行-CMD) ,定位到apktool文件夾,輸入以下命令:apktool.bat d -f test.apk test 在改目錄下會生成一個classes_dex2jar.jar的文件,然後打開工具jd-gui文件夾里的jd-gui.exe,之後用該工具打開之前生成的classes_dex2jar.jar文件,便可以看到源碼了,效果如下:

Ⅳ ubuntu android cts 怎麼添加aapt環境變數

變數是一個名字,變數名只能由字母,數字和下劃線組成。
變數名內不得含有如下字元: +,-,*,/,$,&,%,! ,#,? ,.(小數點)或,(逗號)
◆ 變數名不得以數字或下劃線開頭,通常以字母或漢字開頭。如:tim34,北_100等都是正確的變數名,而 34tim,_b123是錯誤的。
◆ 變數名的長度不得超過255個字元。
◆ 變數名不得與關鍵字同名,如:CONST,Public, sin,Print等都是非法變數名。

Ⅳ win7 aapt命令怎麼使用

Android應用程序是用Java編程語言寫的。編譯後的Java代碼——包括應用程序要求的任何數據和資源文件,通過aapt工具捆綁成一個Android包,歸檔文件以.apk為後綴。這個文件是分發應用程序和安裝到移動設備的中介或工具,用戶下載這個文件到他們的設備上。一個.apk文件中的所有代碼被認為是一個應用程序。

aapt:
aapt是Android Asset Packaging Tool的首字母縮寫,這個工具包含在SDK的tools/目錄下。查看、創建、更新與zip兼容的歸檔文件(zip、jar、apk)。它也能將資源文件編譯成二進制包。
盡管你可能不會經常直接使用appt,但是構建腳本(build scripts)和IDE插件會使用這個工具打包apk文件,構成一個Android應用程序。如需更詳細的使用細節,打開一個終端,進入tools/目錄下,運行命令:
Linux或Mac操作系統:./aapt
Windows:aapt.exe
注意:tools/目錄是指android SDK目錄下的/platforms/android-X/tools/

Ⅵ 如何在 ubuntu 下編譯 mac 和 win 環境可執行的 aapt 工具

第一步,你需要下載QT源代碼(4.8的編譯比較容易),然後通過 ./configure (參數自己定,不懂看readme)接下來就是在QT CREATE裡面配置了,如下: 工具-->選項--->構建和運行 1. 編譯器: 點擊添加: "名稱"隨意 "編譯器路徑" **/arm-none-linux-gnueabi-g++ 找到你的編譯器,我這里是用ARM的 其他不填也行. 2.Qt Versions: 點擊添加:找到通過源碼編譯好的qmake文件. 例如:/usr/local/Qt-4.8.6/bin/qmake 3.構建套件: 點擊添加: "名稱"隨意, 重點是 "編譯器"跟"QT版本", 分別選擇剛剛添加的兩項. 調試器:如果是桌面環境那就選桌面的, 如果是在嵌入式中的,那不要也可以.. 如果是交叉編譯,那隻能編譯,不能運行...

Ⅶ 如何在linux下配置aapt環境變數

如果你用的是 Ubuntu 或其他 Debian 衍生的發行版,可以使用 apt-get命令。比如:$ sudo apt-get install 軟體包名稱
然後輸入密碼,如果軟體包的名稱正確,軟體安裝進程就會被啟動。
apt-get 還可以刪除軟體,只要把上面的 install 換成 remove 就行了。

Ⅷ android什麼是appt

aapt,即Android Asset Packaging Tool。是一個管理資源文件的工具。
具體用法如下:
1. aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive.
1.1 列出壓縮文件目錄
aapt l <file_path.apk>
參數:
-v:會以table的形式輸出目錄,table的表目有:Length、Method、Size、Ratio、Date、Time、CRC-32、Name。其中Method表示壓縮形式,有:Deflate及Stored兩種,即該Zip目錄採用的演算法是壓縮模式還是存儲模式;可以看出resources.arsc、*.png採用壓縮模式,而其它採用壓縮模式。
-a:會詳細輸出所有目錄的內容。
2. aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]
badging Print the label and icon for the app declared in APK.
permissions Print the permissions from the APK.
resources Print the resource table from the APK.
configurations Print the configurations in the APK.
xmltree Print the compiled xmls in the given assets.
xmlstrings Print the strings of the given compiled xml assets.
2.1 查看apk包的packageName、versionCode、applicationLabel、launcherActivity、permission等各種詳細信息。
2.2 查看許可權
aapt mp permissions <file_path.apk>
2.3 查看資源列表
aapt mp resources <file_path.apk>
2.4 查看apk配置信息
aapt mp configurations <file_path.apk>
2.5 查看指定apk的指定xml文件。
aapt mp xmltree <file_path.apk> res/***.xml 以樹形結構輸出的xml信息。
aapt mp xmlstrings <file_path.apk> res/***.xml 輸出xml文件中所有的字元串信息。

Ⅸ 安裝包簽名不一致解決辦法

教程鏈接

https://mp.weixin.qq.com/s/tH_6ndQkYeWwIIegNPpOeQ

最近安裝公司開發的app時,突然提示應用簽名沖突,無法安裝程序,請先卸載舊版本後安裝,這時候怎麼辦呢, 按照提示做,然鵝,當我卸載了所有開發測試版,以及正式版的app後之後依然安裝不上,那腫么辦呢,分析原因,想辦法解決,哈哈。
安裝app時 ,提示簽名沖突一般是以下幾個原因導致的:
原因1:
手機上存在舊版本的app,新舊版版本簽名沖突
解決方案:
01.卸載舊版本的app後,重新安裝你要安裝的app
02.如果卸載舊版本後依然安裝不上,檢查以下是否有應用殘留文件夾,刪除相應文件夾後重新安裝
03.如果依然安裝不上,請看原因2及解決方案2
原因2:
應用卸載不徹底
解決方案:
這種情況的表現是,你的手機上已經沒有和你安裝的app的類似應用了(這里的類似,是指你app的開發以及測試版的一系列版本),同時,你也已經刪除了相關的應用文件夾,這種情況是由於應用卸載不徹底導致的,解決方案如下:
前提:手機需要通過數據線連接電腦,處於傳輸文件,開發者模式的打開狀態
01.下載adb和aapt並配置
下載兩個工具,adb和aapt,下載鏈接(https://download.csdn.net/download/learning_lb/10320312)
下載完成後解壓文件夾,並在環境變數中配置

Ⅹ 怎樣獲取應用的包名和類名及解析aapt

原理:
通過查看AndroidManifest.xml
方法:
可以通過如下方法獲得:
1.aapt
aapt mp xmltree apk路徑 AndroidManifest.xml > 輸入的路徑
2.apktool 反編譯
apktool d -f apk路徑 輸出的路徑
3.monkey---Android自帶的工具
adb shell monkey --port 1080 -v -v
aapt即 Android Asset Packaging Tool
該工具在SDK/tools目錄下,如果你沒有設置環境變數,那需要進入該目錄下才能運行aapt命令,如果設置了環境變數則可以在任何目錄下運行aapt命令了。
1、列出壓縮文件目錄
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
參數:
-v:會以table的形式輸出目錄,table的表目有:Length、Method、Size、Ratio、Date、Time、CRC-32、Name。其中Method表示壓縮形式,有Deflate和Stored兩種,即該Zip目錄採用的演算法是壓縮模式還是存儲模式;Ratio表示壓縮率。
-a:會詳細輸出所有目錄的內容。
2、查看APK的相關信息
aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]
badging Print the label and icon for the app declared in APK.
permissions Print the permissions from the APK.
resources Print the resource table from the APK.
configurations Print the configurations in the APK.
xmltree Print the compiled xmls in the given assets.
xmlstrings Print the strings of the given compiled xml assets.
1)、查看APK包的packageName、versionCode、applicationLabel、launcherActivity、permission等各種詳細信息
aapt mp badging < file.apk>
2)、查看許可權
aapt mp permissions <file.apk>
3)、查看資源列表
aapt mp resources <file.apk>
把查看信息保存到文件中去可以使用:
aapt mp resources <file_path.apk> > sodino.txt
4)、查看APK配置信息
aapt mp configurations <file_path.apk>
5)、查看指定APK的指定XML文件
aapt mp xmltree <file_path.apk> res/***.xml
以樹形結構輸出的xml信息。
aapt mp xmlstrings <file_path.apk> res/***.xml
輸出xml文件中所有的字元串信息。
3、編譯android資源
aapt p[ackage] [-d][-f][-m][-u][-v][-x][-z][-M AndroidManifest.xml] \
[-0 extension [-0 extension ...]] [-g tolerance] [-j jarfile] \
[--debug-mode] [--min-sdk-version VAL] [--target-sdk-version VAL] \
[--app-version VAL] [--app-version-name TEXT] [--custom-package VAL] \
[--rename-manifest-package PACKAGE] \
[--rename-instrumentation-target-package PACKAGE] \
[--utf16] [--auto-add-overlay] \
[--max-res-version VAL] \
[-I base-package [-I base-package ...]] \
[-A asset-source-dir] [-G class-list-file] [-P public-definitions-file
\
[-S resource-sources [-S resource-sources ...]] \
[-F apk-file] [-J R-file-dir] \
[--proct proct1,proct2,...] \
[-c CONFIGS] [--preferred-configurations CONFIGS] \
[-o] \
[raw-files-dir [raw-files-dir] ...]
Package the android resources. It will read assets and resources that are
supplied with the -M -A -S or raw-files-dir arguments. The -J -P -F and -R
options control which files are output.
部分參數解釋:
-f:如果編譯出來的文件已經存在,強制覆蓋;
-m:使生成的包的目錄放在-J參數指定的目錄;
-J:指定生成的R.Java的輸出目錄;
-S:res文件夾路徑;
-A:assert文件夾的路徑;
-M:AndroidManifest.xml的路徑;
-l:某個版本平台的android.jar的路徑;
-F:具體指定APK文件的輸出
1)、將工程的資源編譯出R.java文件
aapt package –m –J <R.java目錄> -S <res目錄> -l <android.jar目錄> -M
<AndroidManifest.xml目錄>
2)、將工程的資源編譯到一個包里
aapt package –f –S <res目錄> -l <android.jar目錄> -A <assert目錄> -M
<AndroidManifest.xml目錄> -F <輸出的包目錄>
4、打包好的APK中移除文件
aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
5、添加文件到打包好的APK中
aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
6、顯示aapt的版本
aapt v[ersion]