- 浏览: 344847 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
2006003845:
ghlimbrother 写道用这种方法怎么把so文件打包进去 ...
原:Android 命令行手动编译打包详解 -
2006003845:
你好 请问下 如果项目中 libs/ 有jar 包 有.s ...
原:Android 命令行手动编译打包详解 -
shiyanshiguize:
楼主在吗?我在执行第一步:使用aapt生成R.java类文件: ...
原:Android 命令行手动编译打包详解 -
IWSo:
测试代码写什么方法里?
原:Android 获取屏幕高度、标题高度、状态栏高度详解 -
a13525177343:
楼主今天查看build.xml的作用的时候,看见你的博文的,我 ...
原:Android 命令行手动编译打包详解
最近在研究android自带的编译 打包工具,关于aapt 这位仁兄的文章写的不错!
转自:http://mmmyddd.freeshell.net/blog.cgi/Computer/Android/aapt-decompress-apk
TOPAAPT 工具介绍
下面是取自"http://www.androidcn.net/wiki/index.php/Reference/aapt"的介绍
aapt stands for Android Asset Packaging Tool and is included in the tools/ directory of the SDK. This tool allows you to view, create, and update Zip-compatible archives (zip, jar, apk). It can also compile resources into binary assets.
aapt即Android Asset Packaging Tool , 在SDK的tools/目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件.
Though you probably won't often use aapt directly, build scripts and IDE plugins can utilize this tool to package the apk file that constitutes an Android application.
尽管你可能没有直接使用过aapt工具, 但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序.
For more usage details, open a terminal, go to the tools/ directory, and run the command:
获取更多的实用信息, 请打开终端控制台, 到tools/目录下, 执行命令:
Linux or Mac OS X:
./aapt
Windows:
aapt.exe
TOPAAPT 的帮助信息
执行上述命令,会在控制台打出相应aapt的信息:
Android Asset Packaging Tool
Usage:
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive.
aapt d[ump] 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.
aapt p[ackage] [-f][-u][-m][-v][-x][-M AndroidManifest.xml] \
[-0 extension [-0 extension ...]] \
[-I base-package [-I base-package ...]] \
[-A asset-source-dir] [-P public-definitions-file] \
[-S resource-sources] [-F apk-file] [-J R-file-dir] \
[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.
aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
Delete specified files from Zip-compatible archive.
aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
Add specified files to Zip-compatible archive.
aapt v[ersion]
Print program version.
Modifiers:
-a print Android-specific data (resources, manifest) when listing
-c specify which configurations to include. The default is all
configurations. The value of the parameter should be a comma
separated list of configuration values. Locales should be specified
as either a language or language-region pair. Some examples:
en
port,en
port,land,en_US
If you put the special locale, zz_ZZ on the list, it will perform
pseudolocalization on the default locale, modifying all of the
strings so you can look for strings that missed the
internationalization process. For example:
port,land,zz_ZZ
-d one or more device assets to include, separated by commas
-f force overwrite of existing files
-j specify a jar or zip file containing classes to include
-m make package directories under location specified by -J
-u update existing packages (add new, replace older, remove deleted files)
-v verbose output
-x create extending (non-application) resource IDs
-z require localization of resource attributes marked with
localization="suggested"
-A additional directory in which to find raw asset files
-F specify the apk file to output
-I add an existing package to base include set
-J specify where to output R.java resource constant definitions
-M specify full path to AndroidManifest.xml to include in zip
-P specify where to output public resource definitions
-S directory in which to find resources
-0 specifies an additional extension for which such files will not
be stored compressed in the .apk. An empty string means to not
compress any files at all.
根据以上帮助信息,用aapt可以使用以下操作:
TOP查看AAPT的版本
./aapt v
得到当前工具的版本:
Android Asset Packaging Tool, v0.2
TOP使用AAPT列出资源包(.apk)文件列表
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive.
可以用命令查看系统资源包的内容:
./aapt l framework-res.apk
META-INF/MANIFEST.MF
META-INF/CERT.SF
META-INF/CERT.RSA
AndroidManifest.xml
assets/images/android_320x480.png
assets/images/boot_robot.png
assets/images/boot_robot_glow.png
...
assets/webkit/youtube.html
assets/webkit/youtube.png
res/anim/accelerate_decelerate_interpolator.xml
res/anim/accelerate_interpolator.xml
res/anim/app_starting_exit.xml
...
res/raw-de/loaderror.html
res/raw-de/nodomain.html
res/raw/fallbackring.ogg
res/raw/loaderror.html
res/raw/nodomain.html
res/xml-en/autotext.xml
res/xml/apns.xml
res/xml/autotext.xml
res/xml/preferred_time_zones.xml
res/xml/time_zones_by_country.xml
resources.arsc
如果采用-v选项,会将所有文件的详细信息打印出来:
Archive: framework-res.apk
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
76217 Deflate 25576 66% 04-16-08 07:40 3b7140fa META-INF/MANIFEST.MF
76259 Deflate 25706 66% 04-16-08 07:40 a21d76be META-INF/CERT.SF
1714 Deflate 1156 33% 04-16-08 07:40 ca66d55e META-INF/CERT.RSA
31768 Deflate 5556 83% 01-16-09 12:04 8c137ee8 AndroidManifest.xml
3098 Stored 3098 0% 01-15-09 23:16 ed1132c9 assets/images/android_320x480.png
1001 Stored 1001 0% 01-15-09 23:16 c53ad035 assets/images/boot_robot.png
2083 Stored 2083 0% 01-15-09 23:16 12acc29d assets/images/boot_robot_glow.png
... ...
340 Deflate 155 54% 01-16-09 12:04 cc2ad7f2 res/anim/accelerate_decelerate_interpolator.xml
368 Deflate 179 51% 01-16-09 12:04 c94b9323 res/anim/accelerate_interpolator.xml
568 Deflate 260 54% 01-16-09 12:04 e0972304 res/anim/app_starting_exit.xml
... ...
605 Deflate 296 51% 01-15-09 23:16 88710568 res/raw-de/loaderror.html
996 Deflate 471 53% 01-15-09 23:16 c42ea004 res/raw-de/nodomain.html
10975 Stored 10975 0% 01-15-09 23:16 21dc2fce res/raw/fallbackring.ogg
579 Deflate 282 51% 01-15-09 23:16 11c56b88 res/raw/loaderror.html
890 Deflate 418 53% 01-15-09 23:16 393cf037 res/raw/nodomain.html
25588 Deflate 5051 80% 01-16-09 12:04 cf7826df res/xml-en/autotext.xml
164 Deflate 97 41% 01-16-09 12:04 ee886635 res/xml/apns.xml
116 Deflate 59 49% 01-16-09 12:04 885f246d res/xml/autotext.xml
864 Deflate 312 64% 01-16-09 12:04 65ad9d7e res/xml/preferred_time_zones.xml
61044 Deflate 11755 81% 01-16-09 12:04 0bc79a58 res/xml/time_zones_by_country.xml
747776 Stored 747776 0% 01-16-09 12:04 98f996b3 resources.arsc
-------- ------- --- -------
2246729 1774656 21% 851 files
如果采用-a选项,会在上述文件列表之后,打印出android使用的符号表:
Resource table:
mError=0x0 (Success)
Package Groups (1)
Package Group 0 id=1 packageCount=1 name=android
Package 0 id=1 name=android typeCount=13
type 0 configCount=1 entryCount=599
spec resource 0x01010000 android:attr/theme: flags=0x40000000
spec resource 0x01010001 android:attr/label: flags=0x40000000
spec resource 0x01010002 android:attr/icon: flags=0x40000000
spec resource 0x01010003 android:attr/name: flags=0x40000000
spec resource 0x01010004 android:attr/manageSpaceActivity: flags=0x40000000
spec resource 0x01010005 android:attr/allowClearUserData: flags=0x40000000
spec resource 0x01010006 android:attr/permission: flags=0x40000000
spec resource 0x01010007 android:attr/readPermission: flags=0x40000000
spec resource 0x01010008 android:attr/writePermission: flags=0x40000000
spec resource 0x01010009 android:attr/protectionLevel: flags=0x40000000
spec resource 0x0101000a android:attr/permissionGroup: flags=0x40000000
... ...
这些符号表的格式还需要进一步研究才能搞明白 -_-!
TOP使用AAPT打包资源文件
使用以下命令查看android的build系统是如何打包framework-res模块的:
cd ~/android/src
make -n --debug framework-res
以下是从输出提取的关键步骤:
1. 第一步,生成资源apk包,由以下命令完成:
out/host/linux-x86/bin/aapt package -z -u -x -M frameworks/base/core/res/AndroidManifest.xml -S frameworks/base/core/res/res
-A frameworks/base/core/res/assets -F out/target/product/generic/obj/APPS/framework-res_intermediates/package.apk
2. 第二步,为生成的资源包做签名:
java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/secur
ity/platform.pk8 out/target/product/generic/obj/APPS/framework-res_intermediates/package.apk.unsigned out/target/product/gene
ric/obj/APPS/framework-res_intermediates/package.apk.signed
3. 第三步,为生成的包做对齐处理:
out/host/linux-x86/bin/zipalign -f 4 out/target/product/generic/obj/APPS/framework-res_intermediates/package.apk.unaligned ou
t/target/product/generic/obj/APPS/framework-res_intermediates/package.apk.aligned
如此生成的framework-res.apk包可以被用来替换system.img中的资源包。(在CupCake前的稳定版本中测试可行)
具体步骤:
1. 首先用生成的framework-res.apk替换在~/android/src/out/target/product/generic/system/framework中的同名文件。
2. 用make snod生成新的system.img,替换sdk目录下的images/system.img
3. 用-wipe-date参数启动emulator
TOP使用AAPT解压资源包(.apk)
./aapt d xmltree framework-res.apk res/anim/fade_in.xml
N: android=http://schemas.android.com/apk/res/android
E: alpha (line=21)
A: android:interpolator(0x01010141)=@0x10a0006
A: android:duration(0x01010198)=(type 0x10)0x12c
A: android:fromAlpha(0x010101ca)=(type 0x4)0x0
A: android:toAlpha(0x010101cb)=(type 0x4)0x3f800000
./aapt d xmlstrings framework-res.apk res/anim/fade_in.xml
String #0: interpolator
String #1: fromAlpha
String #2: toAlpha
String #3: duration
String #4: android
String #5: http://schemas.android.com/apk/res/android
String #6:
String #7: alpha
而没有经过编译的文件为:
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@anim/decelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300" />
相应的R.java文件为:
package com.android.internal;
public final class R {
public static final class anim {
public static final int accelerate_decelerate_interpolator=0x010a0004;
public static final int accelerate_interpolator=0x010a0005;
public static final int app_starting_exit=0x010a0007;
public static final int decelerate_interpolator=0x010a0006;
public static final int dialog_enter=0x010a0008;
public static final int dialog_exit=0x010a0009;
... ...
也可以从符号表中得到这些索引值:
resource 0x010a0006 android:anim/decelerate_interpolator: t=0x03 d=0x00001132 (s=0x0008 r=0x00) (PUBLIC)
配合系统预定的framework/base/core/res/res目录的模版,就可以重建/res文件.
具体过程后续。
转自:http://mmmyddd.freeshell.net/blog.cgi/Computer/Android/aapt-decompress-apk
TOPAAPT 工具介绍
下面是取自"http://www.androidcn.net/wiki/index.php/Reference/aapt"的介绍
aapt stands for Android Asset Packaging Tool and is included in the tools/ directory of the SDK. This tool allows you to view, create, and update Zip-compatible archives (zip, jar, apk). It can also compile resources into binary assets.
aapt即Android Asset Packaging Tool , 在SDK的tools/目录下. 该工具可以查看, 创建, 更新ZIP格式的文档附件(zip, jar, apk). 也可将资源文件编译成二进制文件.
Though you probably won't often use aapt directly, build scripts and IDE plugins can utilize this tool to package the apk file that constitutes an Android application.
尽管你可能没有直接使用过aapt工具, 但是build scripts和IDE插件会使用这个工具打包apk文件构成一个Android 应用程序.
For more usage details, open a terminal, go to the tools/ directory, and run the command:
获取更多的实用信息, 请打开终端控制台, 到tools/目录下, 执行命令:
Linux or Mac OS X:
./aapt
Windows:
aapt.exe
TOPAAPT 的帮助信息
执行上述命令,会在控制台打出相应aapt的信息:
Android Asset Packaging Tool
Usage:
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive.
aapt d[ump] 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.
aapt p[ackage] [-f][-u][-m][-v][-x][-M AndroidManifest.xml] \
[-0 extension [-0 extension ...]] \
[-I base-package [-I base-package ...]] \
[-A asset-source-dir] [-P public-definitions-file] \
[-S resource-sources] [-F apk-file] [-J R-file-dir] \
[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.
aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
Delete specified files from Zip-compatible archive.
aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
Add specified files to Zip-compatible archive.
aapt v[ersion]
Print program version.
Modifiers:
-a print Android-specific data (resources, manifest) when listing
-c specify which configurations to include. The default is all
configurations. The value of the parameter should be a comma
separated list of configuration values. Locales should be specified
as either a language or language-region pair. Some examples:
en
port,en
port,land,en_US
If you put the special locale, zz_ZZ on the list, it will perform
pseudolocalization on the default locale, modifying all of the
strings so you can look for strings that missed the
internationalization process. For example:
port,land,zz_ZZ
-d one or more device assets to include, separated by commas
-f force overwrite of existing files
-j specify a jar or zip file containing classes to include
-m make package directories under location specified by -J
-u update existing packages (add new, replace older, remove deleted files)
-v verbose output
-x create extending (non-application) resource IDs
-z require localization of resource attributes marked with
localization="suggested"
-A additional directory in which to find raw asset files
-F specify the apk file to output
-I add an existing package to base include set
-J specify where to output R.java resource constant definitions
-M specify full path to AndroidManifest.xml to include in zip
-P specify where to output public resource definitions
-S directory in which to find resources
-0 specifies an additional extension for which such files will not
be stored compressed in the .apk. An empty string means to not
compress any files at all.
根据以上帮助信息,用aapt可以使用以下操作:
TOP查看AAPT的版本
./aapt v
得到当前工具的版本:
Android Asset Packaging Tool, v0.2
TOP使用AAPT列出资源包(.apk)文件列表
aapt l[ist] [-v] [-a] file.{zip,jar,apk}
List contents of Zip-compatible archive.
可以用命令查看系统资源包的内容:
./aapt l framework-res.apk
META-INF/MANIFEST.MF
META-INF/CERT.SF
META-INF/CERT.RSA
AndroidManifest.xml
assets/images/android_320x480.png
assets/images/boot_robot.png
assets/images/boot_robot_glow.png
...
assets/webkit/youtube.html
assets/webkit/youtube.png
res/anim/accelerate_decelerate_interpolator.xml
res/anim/accelerate_interpolator.xml
res/anim/app_starting_exit.xml
...
res/raw-de/loaderror.html
res/raw-de/nodomain.html
res/raw/fallbackring.ogg
res/raw/loaderror.html
res/raw/nodomain.html
res/xml-en/autotext.xml
res/xml/apns.xml
res/xml/autotext.xml
res/xml/preferred_time_zones.xml
res/xml/time_zones_by_country.xml
resources.arsc
如果采用-v选项,会将所有文件的详细信息打印出来:
Archive: framework-res.apk
Length Method Size Ratio Date Time CRC-32 Name
-------- ------ ------- ----- ---- ---- ------ ----
76217 Deflate 25576 66% 04-16-08 07:40 3b7140fa META-INF/MANIFEST.MF
76259 Deflate 25706 66% 04-16-08 07:40 a21d76be META-INF/CERT.SF
1714 Deflate 1156 33% 04-16-08 07:40 ca66d55e META-INF/CERT.RSA
31768 Deflate 5556 83% 01-16-09 12:04 8c137ee8 AndroidManifest.xml
3098 Stored 3098 0% 01-15-09 23:16 ed1132c9 assets/images/android_320x480.png
1001 Stored 1001 0% 01-15-09 23:16 c53ad035 assets/images/boot_robot.png
2083 Stored 2083 0% 01-15-09 23:16 12acc29d assets/images/boot_robot_glow.png
... ...
340 Deflate 155 54% 01-16-09 12:04 cc2ad7f2 res/anim/accelerate_decelerate_interpolator.xml
368 Deflate 179 51% 01-16-09 12:04 c94b9323 res/anim/accelerate_interpolator.xml
568 Deflate 260 54% 01-16-09 12:04 e0972304 res/anim/app_starting_exit.xml
... ...
605 Deflate 296 51% 01-15-09 23:16 88710568 res/raw-de/loaderror.html
996 Deflate 471 53% 01-15-09 23:16 c42ea004 res/raw-de/nodomain.html
10975 Stored 10975 0% 01-15-09 23:16 21dc2fce res/raw/fallbackring.ogg
579 Deflate 282 51% 01-15-09 23:16 11c56b88 res/raw/loaderror.html
890 Deflate 418 53% 01-15-09 23:16 393cf037 res/raw/nodomain.html
25588 Deflate 5051 80% 01-16-09 12:04 cf7826df res/xml-en/autotext.xml
164 Deflate 97 41% 01-16-09 12:04 ee886635 res/xml/apns.xml
116 Deflate 59 49% 01-16-09 12:04 885f246d res/xml/autotext.xml
864 Deflate 312 64% 01-16-09 12:04 65ad9d7e res/xml/preferred_time_zones.xml
61044 Deflate 11755 81% 01-16-09 12:04 0bc79a58 res/xml/time_zones_by_country.xml
747776 Stored 747776 0% 01-16-09 12:04 98f996b3 resources.arsc
-------- ------- --- -------
2246729 1774656 21% 851 files
如果采用-a选项,会在上述文件列表之后,打印出android使用的符号表:
Resource table:
mError=0x0 (Success)
Package Groups (1)
Package Group 0 id=1 packageCount=1 name=android
Package 0 id=1 name=android typeCount=13
type 0 configCount=1 entryCount=599
spec resource 0x01010000 android:attr/theme: flags=0x40000000
spec resource 0x01010001 android:attr/label: flags=0x40000000
spec resource 0x01010002 android:attr/icon: flags=0x40000000
spec resource 0x01010003 android:attr/name: flags=0x40000000
spec resource 0x01010004 android:attr/manageSpaceActivity: flags=0x40000000
spec resource 0x01010005 android:attr/allowClearUserData: flags=0x40000000
spec resource 0x01010006 android:attr/permission: flags=0x40000000
spec resource 0x01010007 android:attr/readPermission: flags=0x40000000
spec resource 0x01010008 android:attr/writePermission: flags=0x40000000
spec resource 0x01010009 android:attr/protectionLevel: flags=0x40000000
spec resource 0x0101000a android:attr/permissionGroup: flags=0x40000000
... ...
这些符号表的格式还需要进一步研究才能搞明白 -_-!
TOP使用AAPT打包资源文件
使用以下命令查看android的build系统是如何打包framework-res模块的:
cd ~/android/src
make -n --debug framework-res
以下是从输出提取的关键步骤:
1. 第一步,生成资源apk包,由以下命令完成:
out/host/linux-x86/bin/aapt package -z -u -x -M frameworks/base/core/res/AndroidManifest.xml -S frameworks/base/core/res/res
-A frameworks/base/core/res/assets -F out/target/product/generic/obj/APPS/framework-res_intermediates/package.apk
2. 第二步,为生成的资源包做签名:
java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/secur
ity/platform.pk8 out/target/product/generic/obj/APPS/framework-res_intermediates/package.apk.unsigned out/target/product/gene
ric/obj/APPS/framework-res_intermediates/package.apk.signed
3. 第三步,为生成的包做对齐处理:
out/host/linux-x86/bin/zipalign -f 4 out/target/product/generic/obj/APPS/framework-res_intermediates/package.apk.unaligned ou
t/target/product/generic/obj/APPS/framework-res_intermediates/package.apk.aligned
如此生成的framework-res.apk包可以被用来替换system.img中的资源包。(在CupCake前的稳定版本中测试可行)
具体步骤:
1. 首先用生成的framework-res.apk替换在~/android/src/out/target/product/generic/system/framework中的同名文件。
2. 用make snod生成新的system.img,替换sdk目录下的images/system.img
3. 用-wipe-date参数启动emulator
TOP使用AAPT解压资源包(.apk)
./aapt d xmltree framework-res.apk res/anim/fade_in.xml
N: android=http://schemas.android.com/apk/res/android
E: alpha (line=21)
A: android:interpolator(0x01010141)=@0x10a0006
A: android:duration(0x01010198)=(type 0x10)0x12c
A: android:fromAlpha(0x010101ca)=(type 0x4)0x0
A: android:toAlpha(0x010101cb)=(type 0x4)0x3f800000
./aapt d xmlstrings framework-res.apk res/anim/fade_in.xml
String #0: interpolator
String #1: fromAlpha
String #2: toAlpha
String #3: duration
String #4: android
String #5: http://schemas.android.com/apk/res/android
String #6:
String #7: alpha
而没有经过编译的文件为:
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@anim/decelerate_interpolator"
android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="300" />
相应的R.java文件为:
package com.android.internal;
public final class R {
public static final class anim {
public static final int accelerate_decelerate_interpolator=0x010a0004;
public static final int accelerate_interpolator=0x010a0005;
public static final int app_starting_exit=0x010a0007;
public static final int decelerate_interpolator=0x010a0006;
public static final int dialog_enter=0x010a0008;
public static final int dialog_exit=0x010a0009;
... ...
也可以从符号表中得到这些索引值:
resource 0x010a0006 android:anim/decelerate_interpolator: t=0x03 d=0x00001132 (s=0x0008 r=0x00) (PUBLIC)
配合系统预定的framework/base/core/res/res目录的模版,就可以重建/res文件.
具体过程后续。
发表评论
-
Android ADT20 下运行第三方包出错
2012-10-18 18:07 3453今天在使用android viewpager时 编译ok 运行 ... -
android Ant混淆打包遇到的几个问题 SDK 升级到4.0后
2012-03-08 11:47 5866第一, BUILD FAILED F:\explor ... -
转:Android推送通知指南
2012-02-20 16:24 1780Android推送通知指 ... -
android 数据传递详解(Serialization、Parcelable、Parcel、Intent、Bundle)
2012-02-10 13:38 37442第一、四大组件间数据传递方式: 启动四大组件通过Int ... -
关于android的输入法弹出来 覆盖输入框的问题
2011-12-08 17:51 18896关于android的输入法弹出来 覆盖输入框的问题 ... -
Android4.0源码在Galaxy Nexus上市后开放
2011-11-02 18:06 1506Android4.0源码在Galaxy Nexus上市后开放 ... -
Adnroid4.0 签名混淆打包(conversion to dalvik format failed with error 1)
2011-10-28 11:26 7918最新Eclipse3.7+android sdk4.0+adt ... -
原:Android 获取屏幕高度、标题高度、状态栏高度详解
2010-11-30 08:29 15104A ndroid 获取屏幕高度、标题高度、状态栏高度详解 ... -
转:android连网详解——android.net、org.apache.http联网实现
2010-09-02 16:56 132611.连网相关包介绍 今天 ... -
Android编译,打包、签名详细教程
2010-08-04 22:19 22116Android编译,打包、签名 ... -
原:Android 命令行手动编译打包详解
2010-08-04 21:55 38981Android 命令行手动编译打包过程图 【详细步骤】 ... -
eclipse+ADT 进行android应用签名详解
2010-07-23 09:44 245341.Eclipse工程中右键工程,弹出选项中选择 androi ... -
在android market上发布个人应用的步骤
2010-07-22 18:00 2663发布android应用需要在market上注册market d ... -
Android LogCat使用详解
2010-06-22 16:39 40182Android的Logcat用于显示系统的调试信息,可在分别以 ... -
Android 调试之 Log和LogCat的详解
2010-06-22 15:55 34950Android 的调试信息分为 ... -
android 命令大全
2010-06-10 22:18 3067android命令大全 百度文库很全面的文档:http:// ...
相关推荐
**AAPT:Android Asset Packaging Tool详解** AAPT,全称为Android Asset Packaging Tool,是Android开发过程中不可或缺的一个工具,主要用于处理Android应用(APK)的资源文件。它在构建APK时执行一系列操作,如...
Android Asset Packaging Tool(AAPT)是Android SDK中不可或缺的一部分,它主要负责处理Android应用(APK)的资源管理和打包过程。AAPT工具在开发过程中扮演着重要角色,允许开发者获取APK的相关配置信息,并对资源...
Android SDK Build-tools包含了编译、打包、签名和优化APK所需的各种工具,如AAPT(Android Asset Packaging Tool)、dx(Dalvik编译器)、aapt2(优化的资源处理工具)以及R类生成器等。这些工具与Android Studio...
**Android Asset Packaging Tool (aapt) 64位版本详解** 在Android开发中,aapt(Android Asset Packaging Tool)是一个至关重要的工具,它用于处理应用的资源文件,如图片、XML布局、字符串等,并将它们打包到APK...
在Build Tools 25.0.0中,AAPT(Android Asset Packaging Tool)升级到了AAPT2,这是一个性能更优且支持更多功能的新版本。AAPT2在处理资源时速度更快,可以进行静态分析,提前发现资源错误,同时支持对资源进行...
2. **Build-tools目录**:在Android SDK结构中,`build-tools`目录存放了构建应用时使用的特定版本工具,例如AAPT(Android Asset Packaging Tool)、dx(Dalvik执行文件转换工具)、ProGuard(代码混淆工具)等。...
而`aapt2`是Android Asset Packaging Tool的第二代版本,它负责处理Android应用的资源编译和打包过程。`apktool240-aapt2.zip`这个压缩包包含了支持aapt2的apktool版本,专门用于处理`android.enableAapt2=true`环境...
AAPT,全称为Android Asset Packaging Tool,是Android开发中的一个重要工具,主要用于处理Android应用(APK)的资源文件。这个工具集成了多种功能,包括资源的编译、打包、压缩以及生成R.java文件等,使得开发者...
1. **AAPT(Android Asset Packaging Tool)**:这是Android资源打包工具,负责处理Android项目的资源文件,如图片、XML布局和字符串等,将它们打包成R.java文件,供开发者在代码中引用。 2. **dx**:它是Dalvik ...
8. **构建工具**:除了API和系统库,SDK Platforms还包含构建工具,如AAPT(Android Asset Packaging Tool)用于资源编译,dx用于转换字节码,以及ProGuard用于代码混淆和优化,确保最终APK的安全和效率。...
Android aapt(Android Asset Packaging Tool)是Android开发中的一个重要工具,用于处理应用的资源文件,并参与构建APK的过程。它位于SDK的`build-tools`目录下,是Android应用程序打包不可或缺的一部分。 aapt的...
4. **Build Tools**:用于构建、编译和打包应用的工具,如AAPT(Android Asset Packaging Tool)、dx等。 5. **AndroidJUnitRunner**和**TestRunner**:改进的测试框架,便于进行单元测试和集成测试。 三、API级别...
**Android Asset Packaging Tool (AAPT) - 最新版详解** 在Android开发中,`aapt.exe`(Android Asset Packaging Tool)是Google提供的一款重要的命令行工具,用于处理应用程序资源,包括编译、打包、压缩和验证...
1. AAPT(Android Asset Packaging Tool):用于处理Android应用的资源文件,如图片、布局、字符串等。AAPT在构建过程中负责编译资源、生成R.java文件,并将资源打包到最终的APK中。 2. dx:Java字节码转换器,将...
`aapt2`可能是一个Python库,用于与Android的AAPT(Android Asset Packaging Tool)工具交互。AAPT是Android开发中的一个重要工具,用于处理应用程序的资源文件,如XML布局、图像等。在原生Android开发中,AAPT负责...
1. **AAPT (Android Asset Packaging Tool)**:AAPT是Android资源处理工具,负责编译、压缩、打包资源文件,如图片、XML布局文件等。在Build-Tools 22.0.1中,AAPT会将资源文件转换为二进制格式,并生成R.java文件,...
除此之外,我们还需要熟悉Gradle构建系统和AAPT(Android Asset Packaging Tool)资源打包工具。 三、应用程序结构 每个Android应用由一系列组件构成,包括Activity(活动)、Service(服务)、Broadcast Receiver...
3. **Build Tools**:Android Build Tools提供了一系列自动化构建工具,如aapt(Android Asset Packaging Tool)、dx(Dalvik bytecode compiler)和apkbuilder,用于构建APK文件。 4. **Android Libraries**:SDK...
`aapt` 是 Android Asset Packaging Tool 的缩写,是Android开发工具集的一部分,主要用于处理Android应用程序的资源文件。标题表明了这里提供的是适用于Windows操作系统的aapt版本,并且已经经过测试,确保可以在...
1. `build-tools`目录:包含构建Android应用所需的各种工具,如aapt(Android Asset Packaging Tool)、dx(Dalvik Executable工具)、apksigner等。 2. `platform-tools`目录:提供了adb(Android Debug Bridge)...