一、使用工具
1.安卓版本8.0
2.安装AIDE
3.re管理器
4.Termux终端模拟器
二、过程
1.打开AIDE,在项目文件夹下(我的为/sdcard/AppProjects)新建java项目,项目名我这里命名为test。
2. 项目新建后会自动生成Main.Java,因为仅供测试,便不再做改动,直接点击右上角的运行按钮编译运行,控制台会打印“hellow world”和让你输入数字。
3.用re文件管理器打开项目所在文件夹,进入/test/bin/release/dex/,会有下图中的目录和文件,classes.dex.zip和oat/arm64/目录下的classes.dex.odex、classes.dex.vdex的这三个文件就是所需要的。
4.将classes.dex.zip重命名为test.jar,用re管理器复制到/system/framework下,修改权限为644 ;将classes.dex.odex、classes.dex.vdex分别改名为test.odex和test.vdex,复制到/system/framework/oat/arm64目录下,该权限为644
5.新建脚本,命名为runtest ,脚本内容如下:
#!/system/bin/sh
base=/system
export CLASSPATH=$base/framework/test.jar
exec app_process $base/bin Main "$@"
6.将脚本复制到/system/bin下,修改权限为755。
7.重启手机,打开终端模拟器,以root权限或系统用户权限运行runtest命令。
8.运行成功。
ps:
dalvikvm -cp /data/Main.jar Main