導航:首頁 > 程序命令 > 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命令相關的資料

熱點內容
android百度地圖彈出框 瀏覽:858
什麼app沒廣告 瀏覽:147
php欺騙提交 瀏覽:745
程序員都是做什麼程序 瀏覽:564
linuxfor循環語句 瀏覽:567
php收入 瀏覽:705
firefox命令行 瀏覽:788
用什麼app軟體查詢整機報告 瀏覽:152
源碼畫板的製作方法 瀏覽:973
eq對伺服器有什麼要求 瀏覽:888
程序員那麼可愛第七集 瀏覽:675
方舟非專用伺服器代碼是什麼 瀏覽:714
ug伺服器未啟動怎麼解決 瀏覽:530
怎麼免費進2b2t伺服器 瀏覽:354
易學的php框架 瀏覽:382
文件夾擺桌圖片 瀏覽:690
姓名快速檢索演算法 瀏覽:106
主流單片機cpu頻率 瀏覽:869
編程有可能會被納入學科嗎 瀏覽:48
二級抗震柱子要全高加密么 瀏覽:369