纯命令行打包APK,使用aapt2的问题

xxaxxaxxa 2019-05-28 10:33:13
纯命令行打包APK时,使用AAPT2生成APK的时候,出现了下面错误
error: resource style/Theme.AppCompat.Light.DarkActionBar (aka com.example.myapplication:style/Theme.AppCompat.Light.DarkActionBar) not found.
分析了一下,大概是因为
AAPT2做资源文件的compile的时候,只编译了本地的资源文件,
没有编译需要依赖的系统资源。
例如,通常会写在build.gradle的dependencies中的
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'

请问,使用AAPT2打包时,如何依赖上面两个系统包?
...全文
907 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Q似水流年 2021-05-07
  • 打赏
  • 举报
回复 1
怎么解决的?
NeXT___ 2021-04-27
  • 打赏
  • 举报
回复
楼主问题解决了吗
coutliuxing 2019-12-10
  • 打赏
  • 举报
回复
把依赖的aar解压出来,把相应的资源加在aapt2的命令上
qq_23517485 2019-09-06
  • 打赏
  • 举报
回复
有解决这个问题吗?
xxaxxaxxa 2019-05-30
  • 打赏
  • 举报
回复
没人吗?顶起
1) APKtool软件包 及签名tool APKtool软件包有2个程序组成:apktool.jar 和 aapt.exe 另外提供一个批处理文件:apktool.bat,其内容为: java -jar "%~dp0\apktool.jar" %1 %2 %3 %4 %5 %6 %7 %8 %9 运行apktools.jar需要java环境(1.6.0版本以上)。 apktool.jar用于解包,apktool.jar和aapt.exe联合用于打包。 signapk.jar 用于签名。 2) APK文件的解包 下面以解开Contacts.apk为例。首先把Contacts.apk Copy到当前工作目录下(例:Test)。在DOS下打入命令 apktool d Contacts.apk ABC 这里“d”表示要解码。Contacts.apk是要解包的APK文件。ABC是子目录名。所有解包的文件都会放在这个子目录内。 3) APK文件的打包 在DOS下打入命令 apktool b ABC New-Contacts.apk 这里“b”表示要打包 ABC是子目录名,是解包时产生的子目录,用来存放所有解包后的和修改后的文件。 New-Contacts.apk打包后产生的新的APK文件。 4) 签名,不签名安装时可能提示如下错误: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES] --- 没有签名,可以尝试test证书;签名方法见下面。 Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] ---- 已存在签名,但使用证书不对,可以尝试使用其他证书签名。 签名方法:到目录android\build\target\product\security找到证书文件,这里可能会有几种证书,test/shared/platform/media,各种证书使用场景不同,可以自己google一下,因为签名很快而且可任意后续更改签名,可以自己尝试各种不同签名; 这个命令行使用test证书的例子:java -jar signapk.jar testkey.x509.pem testkey.pk8 YOURAPK.apk YOURAPK_signed.apk YOURAPK_signed.apk就是签完名的apk,去测试一下您重新打包apk吧。
反编译工具包 下载后的操作步骤 Android APK反编译 未做测试全是最新工具包,另附已经做过测试的工具包,部分是旧工具,自己可替换 http://download.csdn.net/detail/haoqinghua/5500751 一、Apk反编译得到Java源代码 下载反编译工具包,打开apk2java目录下的dex2jar-0.0.9.9文件夹,内含apk反编译成java源码工具,以及源码查看工具。 dex2jar:apk反编译工具 ,是将apk中的classes.dex转化成jar文件 jdgui:源码查看工具,是一个反编译工具,可以直接查看反编译后的jar包源代码 具体步骤: 首先将apk文件后缀改为zip并解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的,将classes.dex复制到dex2jar.bat所在目录dex2jar-0.0.9.9文件夹。 在命令行下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex 生成 classes_dex2jar.jar 然后,进入jdgui文件夹双击jd-gui.exe,打开上面生成的jar包classes_dex2jar.jar,即可看到源代码 二、apk反编译生成程序的源代码和图片、XML配置、语言资源等文件 如果是汉化软件,这将特别有用 首先还是要下载此反编译工具包,其中包含最新的apktool 1.5 具体步骤: 下载反编译工具包,打开apk2java目录下的apktool1.4.1文件夹,内含三个文件:aapt.exe,apktool.bat,apktool.jar 注:里面的apktool_bk.jar是备份的老版本,最好用最新的apktool.jar 在命令行下定位到apktool.bat文件夹,输入以下命令:apktool.bat d -f abc123.apk abc123, apktool.bat 命令行解释:apktool.bat d -f [apk文件 ] [输出文件夹] 反编译的文件如下(AndroidManifest.xml为例): 将反编译完的文件重新打包apk,很简单,输入apktool.bat b abc123(你编译出来文件夹)即可,命令如下: 打包apk后的文件在目录C:\HelloAndroid下,生成了两个文件夹: build dist 三、 图形化反编译apk 上述步骤一、二讲述了命令行反编译apk,现在提供一种图形化反编译工具:Androidfby 首先,下载上述反编译工具包,打开Androidfby目录,双击Android反编译工具.exe,就可以浏览打开要反编译的apk
两个软件配套使用、具体方法是: 一.反编译Apk得到Java源代码 首先要下载两个工具:dex2jar和JD-GUI,前者是将apk中的classes.dex转化成Jar文件,而JD-GUI是一个反编译工具,可以直接查看Jar包的源代码。 具体步骤:首先将apk文件,将后缀改为zip,解压,得到其中的classes.dex,它就是java文件编译再通过dx工具打包而成的; 解压下载的dex2jar,将classes.dex复制到dex2jar.bat所在目录。在命令行下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex 生成classes.dex.dex2jar.jar 运行JD-GUI,打开上面生成的jar包,即可看到源代码了。 二.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件 如果是只是汉化软件,这将特别有用。首先还是下载工具,这次用到的是apktool,下载地址: http://code.google.com/p/android-apktool/,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。 具体步骤:将下载的两个包解压到同一个文件夹下,应该会有三个文件:aapt.exe,apktool.bat,apktool.jar;在命令行下定位到apktool.bat文件夹,输入以下命令: apktool d C:\***.apk C:\***文件夹 命令行解释:apktool d [要反编译的apk文件 ] [输出文件夹],特别注意:你要反编译的文件一定要放在C盘的根目录里; 将反编译完的文件重新打包apk,很简单,输入apktood b c:\***文件夹(你编译出来文件夹)即可。
Android APK反编译 一.反编译Apk得到Java源代码 转载自:http://hi.baidu.com/%CB%BF%D4%B5%CC%EC%CF%C2/blog/item/2284e2debafc541e495403ec.html 工具下载:需用到dex2jar和JD-GUI这2个工具 dex2jar下载地址:http://laichao.googlecode.com/files/dex2jar-0.0.7.8-SNAPSHOT.zip JD-GUI下载地址: windows版JD-GUI:http://laichao.googlecode.com/files/jdgui.zip Linux版JD-GUI:http://laichao.googlecode.com/files/jd-gui-0.3.2.linux.i686.tar.gz 步骤: 1.首先找到Android软件安装包中的classes.dex 把.apk文件改名为.zip,然后解压缩,得到其中的classes.dex文件,它就是java文件编译再通过dx工具打包成的,所以现在我们就用上述提到的2个工具来逆方向导出java源文件 2.把classes.dex拷贝到dex2jar.bat所在目录。 在命令行模式下定位到dex2jar.bat所在目录,运行 dex2jar.bat classes.dex ,生成classes.dex.dex2jar.jar 3.运行JD-GUI工具(它是绿色无须安装的) 打开上面的jar文件,即可看到源代码 --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- 二.反编译apk生成程序的源代码和图片、XML配置、语言资源等文件。 转载自:http://blog.sina.com.cn/s/blog_5752764e0100kv34.html 工具下载: 在http://code.google.com/p/android-apktool/下 载获得,apktool-1.0.0.tar.bz2和apktool-install-windows-2.1_r01-1.zip两个包都要下。 步骤: 1.解压缩下载的两个文件包,apktool-install-windows-2.1_r01-1.zip解压缩后得到的包里有aapt.exe 和apktool.bat.(注意要把apktool-1.0.0.tar.bz2解压后的一个.jar 文件copy进来) 2.打开命令窗口 (开始 > 运行,输入cmd,回车。)进入到apktool.bat的文件夹里。 输入: apktool d C:\***.apk C:\***文件夹 (命令行解释:apktool d 要反编译的文件 输出文件夹) 特别注意:你要反编译的文件一定要放在C盘的根目录里, 3.打开 C:\***文件夹 就可以得到我们学院的各种资源了。 三.将反编译完的文件重新打包apk 很简单,只要输入: apktood b c:***文件夹(你编译出来文件夹)

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧