自动化工具 讨论:使用 dex 的方式 +Java 反射大法可以做些啥?

甬力君 · 2017年08月08日 · 最后由 fdeferf 回复于 2017年08月08日 · 1688 次阅读

看了这篇文章https://testerhome.com/topics/8622,做了个实验

安卓运行 dex:

之前用 dex 的方式,尝试过 hello world,可以运行

实现步骤:

  • 写个 hello world

Main.java

public class Main {

    public static void main(String[] args) {
         System.out.println("Hello World!");
    }
}
  • 编译 Java 代码为 jar

  • 使用 Android SDK 带的 dx 工具,把 jar 转换为 dex(dalvik/art 支持的字节码格式)

dx --dex --output=Main.dex  Main.jar
  • 把 dex push 到手机,执行看看情况
adb push Main.dex /data/local/tmp
adb shell app_process -Djava.class.path=/data/local/tmp/Main.dex  /data/local/tmp Main
  • 效果

反射大法,不太懂,还在折腾,大家一起扯扯

  • 看了企鹅的一些代码,用反射很多(找元素、mock 位置、用户事件注入等等),找时间继续扯...
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 1 条回复 时间 点赞

曾经要做一个通过 Excel 存储读取用例的 Appium, 在 Excel 中存储相关的方法名, 原本是手动根据字符做判断, 想用反射自动根据名称去调, 没有写完...

甬力君 关闭了讨论 03月12日 21:30
甬力君 app_process 与反射大法实现安卓截屏 中提及了此贴 03月12日 22:19
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册