apktool2.0.0rc3解决打包资源错误方法之一
来源:互联网 发布:数码宝贝网络侦探初始 编辑:程序博客网 时间:2024/05/24 06:01
在分析apk时,apktool2.0.0rc3反编译成功,但重新打包出错如下:
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
\res\values-v19\styles.xml:11: error: Error: No resource found that matches the given name: attr 'android:actionModeFindDrawable'.
\res\values-v19\styles.xml:10: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
\res\values-v19\styles.xml:21: error: Error: No resource found that matches the given name: attr 'android:actionModeFindDrawable'.
\res\values-v19\styles.xml:20: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException:
could not exec command: .....
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:437)
at brut.androlib.Androlib.buildResources(Androlib.java:374)
at brut.androlib.Androlib.build(Androlib.java:277)
at brut.androlib.Androlib.build(Androlib.java:250)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not
exec command: .....
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:488)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:423)
... 5 more
Caused by: .....
at brut.util.OS.exec(OS.java:89)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:482)
... 6 more
打开提示的文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ptt_invisible" parent="@style/ptt">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:actionModeFindDrawable">true</item>
<item name="android:actionModeShareDrawable">true</item>
</style>
<style name="ptt_light_invisible" parent="@style/ptt_light">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:actionModeFindDrawable">true</item>
<item name="android:actionModeShareDrawable">true</item>
</style>
</resources>
既然提示无法识别资源标识,那尝试删除看看。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ptt_invisible" parent="@style/ptt">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
<style name="ptt_light_invisible" parent="@style/ptt_light">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
</resources>
重新打包成功。
I: Checking whether sources has changed...
I: Smaling smali folder into classes.dex...
I: Checking whether resources has changed...
I: Building resources...
\res\values-v19\styles.xml:11: error: Error: No resource found that matches the given name: attr 'android:actionModeFindDrawable'.
\res\values-v19\styles.xml:10: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
\res\values-v19\styles.xml:21: error: Error: No resource found that matches the given name: attr 'android:actionModeFindDrawable'.
\res\values-v19\styles.xml:20: error: Error: No resource found that matches the given name: attr 'android:actionModeShareDrawable'.
Exception in thread "main" brut.androlib.AndrolibException: brut.androlib.AndrolibException: brut.common.BrutException:
could not exec command: .....
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:437)
at brut.androlib.Androlib.buildResources(Androlib.java:374)
at brut.androlib.Androlib.build(Androlib.java:277)
at brut.androlib.Androlib.build(Androlib.java:250)
at brut.apktool.Main.cmdBuild(Main.java:225)
at brut.apktool.Main.main(Main.java:84)
Caused by: brut.androlib.AndrolibException: brut.common.BrutException: could not
exec command: .....
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:488)
at brut.androlib.Androlib.buildResourcesFull(Androlib.java:423)
... 5 more
Caused by: .....
at brut.util.OS.exec(OS.java:89)
at brut.androlib.res.AndrolibResources.aaptPackage(AndrolibResources.jav
a:482)
... 6 more
打开提示的文件
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ptt_invisible" parent="@style/ptt">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:actionModeFindDrawable">true</item>
<item name="android:actionModeShareDrawable">true</item>
</style>
<style name="ptt_light_invisible" parent="@style/ptt_light">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:actionModeFindDrawable">true</item>
<item name="android:actionModeShareDrawable">true</item>
</style>
</resources>
既然提示无法识别资源标识,那尝试删除看看。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="ptt_invisible" parent="@style/ptt">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
<style name="ptt_light_invisible" parent="@style/ptt_light">
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation</item>
<item name="android:colorBackgroundCacheHint">@null</item>
</style>
</resources>
重新打包成功。
完全没有技术含量,只是说明了一个问题,碰到apktool出错,不用慌,有的错误是很好解决的。
经过与看雪的朋友讨论与实践,得出第二种方法。
原因:
不同level的API造成的。
解决方法:
在反编译之前把C:\Users\用户名\apktool\framework文件夹下面的1.apk删除,因为apktool rc3已经采用了api21的framework.jar里面的resources.arsc.
android-framework.jar 内置在apktool.jar
apktool.jar:apktool.jar\brut\androlib\android-framework.jar
源码目录:brut.apktool/apktool-lib/src/main/resources/brut/androlib/android-framework.jar
补充 下,1.apk其实就是android-framework.jar
0 2
- apktool2.0.0rc3解决打包资源错误方法之一
- Apktool2.2.2 此时不应有 PATH_BASE 错误解决
- ios打包错误解决
- IOS打包错误解决
- 游戏资源打包方法总结
- 游戏资源打包方法总结
- 解决java工程打包后无法找到资源文件路径的方法
- Ajax 乱码解决 方法之一。
- android 指定打包资源文件的方法
- Artoolkit学习之一error LNK2019错误解决
- 解决 rpmbuild 打包后安装错误
- Unity打包到Android错误解决
- Android 打包签名DexIndexOverflowException错误解决
- Android 打包签名DexIndexOverflowException错误解决
- elastic-job 编译打包错误解决
- 项目记录16---打包手机andrid,ios资源打包读取配置xml错误,中文读取错误
- 打包时报字符串资源多语言的错误
- react打包后图片和资源路径错误的解决方法
- oracle编程入门笔记2015-01-19--表连接
- 解决多组数据测试问题
- UISlider:滑块控件
- 修改ubuntu屏幕分辨率
- 1月12号
- apktool2.0.0rc3解决打包资源错误方法之一
- e320/t420/w520等 qm67/hm65/hm67等 6系芯片组更新BIOS以安装三代酷睿cpu提升性能的想法
- 集成 Tomcat 插件到 Eclipse 的过程
- sonar 中文版与英文版切换
- 在visual C++6.0中安装EasyX开发包
- Unity5.0状态机
- OpenGL图形编程(一)
- UVa 1587 有趣的模拟题
- c语言-二维数组