導航:首頁 > 程序命令 > aapt命令

aapt命令

發布時間:2022-01-30 08:08:03

android中aapt工具通過什麼機制/演算法生成R.java

資源ID是一個4位元組的無符號整數,其中,最高位元組表示Package ID,次高位元組表示Type ID,最低兩位元組表示Entry ID。
Package ID相當於是一個命名空間,限定資源的來源。Android系統當前定義了兩個資源命令空間,其中一個系統資源命令空間,它的Package ID等於0x01,另外一個是應用程序資源命令空間,它的Package ID等於0x7f。所有位於[0x01, 0x7f]之間的Package ID都是合法的,而在這個范圍之外的都是非法的Package ID。前面提到的系統資源包package-export.apk的Package ID就等於0x01,而我們在應用程序中定義的資源的Package ID的值都等於0x7f,這一點可以通過生成的R.java文件來驗證。
Type ID是指資源的類型ID。資源的類型有animator、anim、color、drawable、layout、menu、raw、string和xml等等若干種,每一種都會被賦予一個ID。
Entry ID是指每一個資源在其所屬的資源類型中所出現的次序。注意,不同類型的資源的Entry ID有可能是相同的,但是由於它們的類型不同,我們仍然可以通過其資源ID來區別開來。

Ⅱ aapt不是內部或者外部命令,也不是可運行的程序或批處理文件

aapt不是內部或者外部命令,也不是可運行的程序或批處理文件是因為沒有設置環境變數的緣故。解決步驟如下:

1、首先第一步就是要進行滑鼠右鍵點擊計算機或我的電腦,然後進行點擊選擇「屬性」即可。


Ⅲ 輸入"aapt mp badging"時,命令提示錯誤"no mp file specified"

說得很明白啊,翻譯過來,「錯誤:沒有指定轉儲文件」。這個命令沒打完,後面還需要一個文件路徑

Ⅳ 請問aapt 用什麼指令能查看下面這些許可權(HTMLViewer.apk)

aapt.exempbadgingHTMLViewer.apk

Ⅳ android中的aapt命令,aapt add xxx.apk xxx.dex ,如果apk和dex 不同一個目錄,該怎麼寫呢

絕對路徑

Ⅵ 怎樣獲取應用的包名和類名及解析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]

Ⅶ 如何使用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 可以指定多個資源目錄,我們通

Ⅷ 如何在Linux下用命令行運行aapt工具

把android命令行工具所在的路徑添加到p...
1

我們在eclipse中新建一個android項目,...
2

(1)生成R文件。在命令行輸入:aapt p...
3

(2)生成class文件。在命令行輸入

Ⅸ win7 aapt命令怎麼使用

樓主是要做安卓開發?如果不是一下內容可以忽略。

1.列出apk包的內容
aaptl[ist][-v][-a]file.{zip,jar,apk}
-v以table形式列出來
-a詳細列出內容
例如:aaptl<你的apk文件>,這個命令就是查看apk內容2.查看apk一些信息
aaptd[ump][--values]WHATfile.{apk}[asset[asset...]]

.
.
.
.
.
例如:aaptdpermissions<apk文件>,這個就是顯示這個apk所具有的許可權
3.編譯android資源
aaptp[ackage][-d][-f][-m][-u][-v][-x][-z][-MAndroidManifest.xml]/
[-0extension[-0extension...]][-gtolerance][-jjarfile]/
[--debug-mode][--min-sdk-versionVAL][--target-sdk-versionVAL]/
[--app-versionVAL][--app-version-nameTEXT][--custom-packageVAL]/
[--rename-manifest-packagePACKAGE]/
[--rename-instrumentation-target-packagePACKAGE]/
[--utf16][--auto-add-overlay]/
[--max-res-versionVAL]/
[-Ibase-package[-Ibase-package...]]/
[-Aasset-source-dir][-Gclass-list-file][-Ppublic-definitions-file]/
[-Sresource-sources[-Sresource-sources...]][-Fapk-file][-JR-file-dir]/
[--proctproct1,proct2,...]/
[raw-files-dir[raw-files-dir]...]
這個比較復雜,只解釋幾個關鍵參數。
-f如果編譯出來的文件已經存在,強制覆蓋。
-m使生成的包的目錄放在-J參數指定的目錄。
-J指定生成的R.java的輸出目錄
-Sres文件夾路徑
-Aassert文件夾的路徑
-MAndroidManifest.xml的路徑
-I某個版本平台的android.jar的路徑
-F具體指定apk文件的輸出
例如:
1).將工程的資源編譯R.java文件
aaptpackage-m-J<R.java目錄>-S<res目錄>-I<android.jar目錄>-M<AndroidManifest.xml目錄>
2).將工程的資源編譯編譯到一個包里
aaptpackage-f-S<res目錄>-I<android.jar目錄>-A<assert目錄>-M<AndroidManifest.xml目錄>-F<輸出的包目錄>
4.打包好的apk中移除文件
aaptr[emove][-v]file.{zip,jar,apk}file1[file2...]
例如:aaptr<你的apk文件>AndroidManifest.xml,這個就是將apk中的AndroidManifest移除掉
5.添加文件到打包好的apk中
aapta[dd][-v]file.{zip,jar,apk}file1[file2...]
例如:aapta<你的apk文件><要添加的文件路徑>,這個就是將文件添加到打包好的apk文件中
6.顯示aapt的版本
aaptv[ersion]
例如:aaptv,就是列印這個結果AndroidAssetPackagingTool,v0.2

此外,可以通過在命令行中輸入:aapt help,獲取更多詳細解釋

閱讀全文

與aapt命令相關的資料

熱點內容
騰訊演算法是干什麼 瀏覽:593
小網站需要雲伺服器地址 瀏覽:846
h3c退出命令 瀏覽:311
linux目錄命令是什麼 瀏覽:493
php獲取word內容 瀏覽:386
程序員那麼可愛小說全集免費觀看 瀏覽:606
大型壓縮垃圾車 瀏覽:563
戰地5小隊命令任務 瀏覽:312
蘋果編程網站 瀏覽:544
女程序員交流 瀏覽:75
如何修復手機伺服器異常 瀏覽:963
linux在哪輸入命令 瀏覽:355
流水燈間隔點亮單片機程序 瀏覽:935
方舟伺服器怎麼開語音 瀏覽:335
java信用卡 瀏覽:450
路由dhcp伺服器什麼意思 瀏覽:997
億速互聯免備案雲伺服器 瀏覽:75
fifo演算法最早進入主存 瀏覽:577
php頁面禁止刷新 瀏覽:730
文本相似度java 瀏覽:441