zoukankan      html  css  js  c++  java
  • 有关于apktool的使用的一些心得

    <span style="font-family: Arial, Helvetica, sans-serif;">1.配置Java的环境</span>

    1)JAVA_HOME配置:

    2)C:Program FilesJavajdk1.7.0_51;CLATHPATH配置:C:Program FilesJavajdk1.7.0_51libdt.jar;C:Program FilesJavajdk1.7.0_51lib ools.jar;.注意:最后有“.”

    3)path配置:C:Program FilesJavajre7in;C:Program FilesJavajdk1.7.0_51in;

    能够就个人情况而言。

    2.下载apktool工具:http://www.cngr.cn/dir/209/sjrj/2012121291256.html (仅仅供參考)

    3.解压apktool包。将apktool.jar、aapt.exe、apktool.bat复制到根文件夹的apktool文件里(本人是在E盘中创建了一个apktool文件夹)。假设要进行签名则须要使用signapk.jar、testkey.pk8、testkey.x509.pem来进行签名。

    4.将您想要反编译的apk文件复制到apktool目录中,使用命令行进行反编译。


    假设再次进行反编译则会出现:


    则须要使用:apktool d -f framebyframe.apk进行覆盖反编译


    5.将反编译的文件又一次回编译成apk文件,则须要:


    6.进行签名则须要:


    7.遇到的问题:

    E:apktool>apktool d framebyframe.apk
    I: Baksmaling...
    I: Loading resource table...
    I: Loaded.
    I: Decoding AndroidManifest.xml with resources...
    I: Loading resource table from file: C:UsersAdministratorapktoolframework1.
    apk
    I: Loaded.
    I: Regular manifest package...
    I: Decoding file-resources...
    I: Decoding values */* XMLs...
    Exception in thread "main" brut.androlib.err.UndefinedResObject: resource spec:
    0x01030119
            at brut.androlib.res.data.ResPackage.getResSpec(ResPackage.java:61)
            at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:58)
            at brut.androlib.res.data.ResTable.getResSpec(ResTable.java:54)
            at brut.androlib.res.data.value.ResReferenceValue.getReferent(ResReferen
    ceValue.java:62)
            at brut.androlib.res.data.value.ResReferenceValue.encodeAsResXml(ResRefe
    renceValue.java:46)
            at brut.androlib.res.data.value.ResScalarValue.encodeAsResXmlAttr(ResSca
    larValue.java:44)
            at brut.androlib.res.data.value.ResStyleValue.serializeToResValuesXml(Re
    sStyleValue.java:48)
            at brut.androlib.res.data.value.ResBagValue.serializeToResValuesXml(ResB
    agValue.java:40)
            at brut.androlib.res.AndrolibResources.generateValuesFile(AndrolibResour
    ces.java:440)
            at brut.androlib.res.AndrolibResources.decode(AndrolibResources.java:243
    )
            at brut.androlib.Androlib.decodeResourcesFull(Androlib.java:115)
            at brut.androlib.ApkDecoder.decode(ApkDecoder.java:114)
            at brut.apktool.Main.cmdDecode(Main.java:146)
            at brut.apktool.Main.main(Main.java:77)
    
    将C:UsersAdministrator中apktool文件删除就可以解决。



    未完待续。。

    。。。

    。。

  • 相关阅读:
    仿照everything写的一个超级速查 原创
    [转]SharePoint 2013 Online App Development – Part 1
    [转]SharePoint 2013 App 开发 (2)
    [转]ASP.NET自定义控件复杂属性声明持久性浅析
    HasRights方法参数
    故障分析神器——BTrace
    JVM——Memory Analyzor分析内存溢出
    关于句柄
    Java内存区域与内存溢出
    命令行的使用
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/7270244.html
Copyright © 2011-2022 走看看