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.运行调试修改返回异常处的代码。

  • 相关阅读:
    3. 无重复字符的最长子串
    字节跳动 最小栈
    排序
    线程的优先级
    线程的操作方法
    线程的生命周期
    实现线程的方式:Thread类重写run();Runnable类重写run();Callable类重写call();实现线程的方式
    Java thread run() start() 是干什么的以及区别
    Java thread 多线程
    助教工作学期总结
  • 原文地址:https://www.cnblogs.com/konf/p/5943641.html
Copyright © 2011-2022 走看看