当前位置:首页 » 数据仓库 » 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]