`

android aapt使用小结

阅读更多
转自http://blog.csdn.net/brave_heart_lxl/article/details/6187260


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










本文小结了一下该工具的用法。
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采用压缩模式,而其它采用压缩模式。
Ratio表示压缩率。CRC-32未明其意,Sodino盼指教。

-a:会详细输出所有目录的内容。
效果图:aapt_list.JPG



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等各种详细信息
aapt dump badging <file_path.apk>
效果图:aapt_dump_badging.JPG


2.2 查看权限
aapt dump permissions <file_path.apk>
效果图:aapt_dump_permissions.JPG



2.3 查看资源列表
aapt dump resources <file_path.apk>
一般都会输出很多的信息,如要全部查看,请用下面这两句:
aapt dump resources <file_path.apk>   > sodino.txt
sodino.txt
这样会把所有的信息通过重定向符">"输出到sodino.txt文件中,然后再打开该文件即可查看。


2.4 查看apk配置信息
aapt dump configurations <file_path.apk>


2.5 查看指定apk的指定xml文件。
aapt dump xmltree <file_path.apk> res/***.xml
以树形结构输出的xml信息。
aapt dump xmlstrings <file_path.apk> res/***.xml
输出xml文件中所有的字符串信息。
效果图:aapt_dump_xmltree.JPG



3
由于此处代码量比较大,本人写成批处理形式了。

使用aapt生成R.java
rem 测试的工程目录下必须得有gen文件夹,否则会提示:Unable to open class file R.java:No such file or directory
%aapt% package -f -m -J %GEN% -S %RES% -I %ANDROID_JAR% -M %ANDROID_MANIFEST_XML%

使用aapt生成资源包文件
%aapt% package -f -M %ANDROID_MANIFEST_XML% -S %RES% -A %ASSETS% -I %ANDROID_JAR% -F %RESOURCE%

%GEN%:存放的R.java文件夹路径。
%RES%:res文件夹路径。
%ANDROID_JAR%:引用的android.jar路径。
%ANDROID_MANIFEST_XML%:工程AndroidManifest.xml绝对路径。
%ASSETS%:asset文件夹路径。
%RESOURCE%:生成的resouces.arsc存放路径。

参考:
Android系列之Android 命令行手动编译打包详解
http://blog168.chinaunix.net/space.php?uid=22957718&do=blog&cuid=2322671



其余的不解释,直接见效果图:
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.
效果图:aapt_r_a_v.JPG 
分享到:
评论

相关推荐

    android aapt-v24 源代码工程编译

    总结,编译AAPT v24源代码需要一定的编译环境知识和耐心,但通过这个过程,开发者能够更好地理解Android资源处理的底层逻辑,为个性化需求和性能优化打下基础。同时,这也是一种提升编程技能和深入学习Android系统的...

    aapt打包工具--AAPT - Android Asset Packaging Tool

    **AAPT:Android Asset ...总结来说,AAPT是Android开发中的关键工具,负责资源处理的多个环节,确保应用的资源能够正确、高效地运行在设备上。随着技术的发展,AAPT也在不断演进,以适应更复杂、更高效的开发需求。

    android-sdk-aapt-25.0.2-linux

    总结来说,`android-sdk-aapt-25.0.2-linux`是专为Linux用户设计的一个特定版本的Android资源处理工具,它在Android应用开发流程中起着核心作用,处理资源编译、打包和验证等多个关键任务。对于在Linux系统上进行...

    aapt是android自动打包工具之一aapt.zip

    总结来说,AAPT作为Android开发中的关键组件,虽然在现代流程中逐渐被集成工具取代,但它在资源管理和打包过程中的核心作用不容忽视。对于Android开发者而言,掌握AAPT的工作方式和使用方法,有助于提升开发效率和...

    aapt.exe,linux aapt/aapt_32

    总结一下,`aapt.exe`是Android开发中不可或缺的一部分,它处理和打包应用的资源,确保应用能在Android设备上顺利运行。了解和掌握`aapt`的使用,对于提升开发效率和优化用户体验具有重要意义。在实际开发过程中,...

    aapt工具.rar

    总结起来,AAPT作为Android开发的重要组成部分,它的功能强大且不可或缺,不仅能够处理资源文件,还参与到APK的生成和验证过程中,是每个Android开发者都应了解和掌握的工具。通过"**aapt工具.rar**"提供的不同系统...

    aapt-windows.zip

    总结来说,AAPT是Android开发者理解和调整APK文件的强大工具。它可以帮助我们深入了解APK的内部结构,优化资源管理,以及在必要时进行资源的增删。然而,由于涉及到对APK的直接操作,因此使用时应确保理解操作后果,...

    apk解析工具aapt

    总结,`AAPT`是Android开发中不可或缺的工具,它在资源处理、APK打包等方面起着关键作用。不同的系统版本确保了跨平台的兼容性,让开发者无论在哪种环境下都能灵活地使用。理解并熟练运用`AAPT`,对于深入理解和优化...

    Android aapt自动打包工具详细介绍

    总结来说,aapt是Android开发中的核心工具之一,负责处理资源文件和构建APK。理解其工作原理和使用方法对于优化构建过程和提升开发效率至关重要。随着Android开发工具的不断升级,aapt的功能和性能也在持续改进,以...

    安卓ADB和aapt工具

    4. **关联工具**:随着Android Gradle Plugin的使用,现在的资源处理更多由Gradle插件和R8(Dex的优化工具)完成,aapt的作用有所降低,但其核心功能仍被这些工具所继承。 **总结** ADB和aapt是Android开发者日常...

    linux下的aapt和所需32位库文件

    总结一下,要成功在Linux环境下使用aapt,你需要: 1. 确保已经安装了32位库支持,如`ia32-libs`或`lib32-*`。 2. 检查并设置`ld-linux.so.2`的正确权限,以便32位程序能够运行。 了解并掌握这些步骤,将使你在...

    Android中aapt命令实践

    由于是已经存在的apk包,并且只需要其中的versionCode信息,笔者就给发了一段aapt命令:aapt dump badging &lt;files&gt; 下面针对aapt 命令做一下介绍,之前笔者也对一些常用adb命令也做过介绍:总结一些常用Android adb ...

    PyPI 官网下载 | aapt2-0.0.1-py3-none-any.whl

    `aapt2`可能是一个Python库,用于与Android的AAPT(Android Asset Packaging Tool)工具交互。AAPT是Android开发中的一个重要工具,用于处理应用程序的资源文件,如XML布局、图像等。在原生Android开发中,AAPT负责...

    react-native错误之Failed to execute aapt.docx

    3. **AAPT2启用问题**:新的Android构建工具链可能需要特定的配置来支持AAPT2,否则会导致构建失败。 #### 三、解决步骤详解 针对上述问题,可以通过以下步骤尝试解决: ##### 1. 修改Build-Extras.gradle 文件 ...

    疯狂Android讲义源代码2

    1.7 本章小结 第2章 Android应用的界面编程 第3章 事件处理 第4章 深入理解Activity 第5章 使用Intent和IntentFilter进行通信 第6章 Android应用的资源 第7章 图形与图像处理 第8章 Android的数据存储和IO 第9章 ...

    Android编程入门很简单.(清华出版.王勇).part1

    1.5小结 第2章搭建你的开发环境 2.1配置前的准备工作 2.1.1 Android支持的操作系统 2.1.2准备“四大法宝” 2.2安装并配置JDK 2.2.1 安装JDK 2.2.2配置JDK 2.3安装并配置Eclipse 2.3.1 运行Eclipse 2.3.2 了解Eclipse...

    android build-tools linux 28.0.3.rar

    总结,Android Build-Tools 28.0.3在Linux环境下提供了丰富的构建工具,帮助开发者高效地构建和优化Android应用。理解并熟练使用这些工具,能够极大地提高开发效率和应用质量。通过不断学习和实践,开发者可以更好地...

    ApkHelper&aapt.zip

    总结来说,ApkHelper是一个开发者友好的工具,简化了与APK文件交互的过程,而aapt则是Android系统资源管理的基础工具,负责资源的编译、打包和签名。两者结合,为Android开发者提供了强大的分析和操作APK的能力。...

    使用ant打包android

    总结,使用Ant打包Android应用涉及到了Java和Android开发的基础知识,包括环境配置、构建脚本、编译过程、资源处理、APK打包和签名。虽然现代的Android项目多采用Gradle,但了解Ant可以帮助开发者更好地理解和控制...

Global site tag (gtag.js) - Google Analytics