apktool 反編譯打包編譯各種錯誤類型和解決方法總結



第一種問題: 
使用命令     apktool b -f test  test_unsign.apk
編譯通過,但是裝上手機後(前提,先簽名),android的圖片文件 發生黑條,後來調試源代碼發現時一個listview的背景圖片
圖片格式爲 .9.png圖片。原因是.9圖片沒有編譯  把.9.png寫成了 .9.PNG 。
eclipse編譯器可以對改文件檢查通過,但是 apktool命令無法 回編譯。

住:如何簽名參見另外一篇文章 http://blog.csdn.net/woaitaoyi/article/details/24976675


第二種情況: 
使用命令     apktool b -f test  test_unsign.apk
提示

error: Public symbol drawable declared here is not defined.



翻遍網絡所有的資源沒有找到解決方法。
後來找到了原因

----------------------------------------------------華麗麗的分割線--------------------------------------------------------------------------------------
多數情況下我們修改完後使用“apktool b xxx”命令並不能保證可以順利地回編譯。
   常見的錯誤是.../res/values/public.xml:數字 error: Public symbol.../xxxx declared here is not defined
   這跳debug信息告訴我們/res/values/public.xml文件中第“數字”行出錯,裏面指定的對象在res目錄下不存在。
   這是精簡或圖片資源引用錯誤引起的,比如某張圖片在其他dpi裏定義了,在當前保留的dpi裏卻用不到,當我們把它刪除
   後,並沒有刪除它在public.xml文件中的定義,程序回編譯的時候按照public.xml去找它卻已經找不到了,於是就報錯了。
   解決的方法就是打開public.xml文件,刪除相應的行,這個地方需要比較細心和有耐心。

---------------------------------------------------------------------------------------------------------------------------------------------------------------

此上解決方法是一些美化apk的童鞋們也會遇到的問題~~~ 

由此可見很多的反編譯工具 基本都是封裝了 apktool,aapt,apktool.jar 吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章