zoukankan      html  css  js  c++  java
  • Android stdio Apktool源码编译

    Android Apktool源码编译

    标签(空格分隔): Android Apktool 源码编译


    需求

    习惯NetBeans调试smali需要用Apktool反编译apk,需要用-d的参数才能生成.java文件。下载最新的Apktool.jar,运行后提示smalidebugging已经从Apktool去掉了。尝试早期版本,存在bug需要源码调试修复。

    编译过程遇到的问题

    1.从github下载smalidebugging的代码。(Apktool-issue_901)
    2.编译提示错误修复。
    1)smaliParser.g,smaliTreeWalker.g,smaliLexer.jflex等文件转换成java文件。下载ant-antlr-3.jar,jflex-1.6.1.jar进行转换。注意antlr必须使用合适版本。
    2)修复提示的错误,如在brut.apktoolapktool-libsrcmainjavarutandrolibsrcSmaliDecoder.java文件里出现了两个错误,ClassPath没有dontLoadClassPath静态变量,baksmaliOptions没有DIFFPRE静态变量,我也没弄明白我下载的都是最新的smali代码,为什么smali类里会没有相关变量。
    ClassPath.dontLoadClassPath = mDebug;
    options.registerInfo = (mDebug ? baksmaliOptions.DIFFPRE : 0);
    我把ClassPath.dontLoadClassPath = mDebug;直接去掉,baksmaliOptions.DIFFPRE改为baksmaliOptions.ALL。
    3.添加主工程对各种modul的依赖及jar的设置。
    4.运行调试修改返回异常处的代码。

  • 相关阅读:
    IM,游戏服务端 tcp 框架整理
    IronPython初体验和实战集合等类型转换和类型匹配
    C# 控件包
    ORM框架系列
    C# Excel或表格插件
    vue之修饰符
    vue之单表输入绑定
    vue之计算属性和侦听器
    vue之指令系统
    vue之用法
  • 原文地址:https://www.cnblogs.com/konf/p/5943641.html
Copyright © 2011-2022 走看看