參考的以下文章:Android上app_process啟動java進程
但是需要補充一些東西,否則是無法直接運行的
一、確保你的手機是root的
二、若想要使用dx命令,需要配置path,另外對于這個命令可能會報錯
dx --dex --output=/Users/zhengyongxiang/Movepkgdemo/app/src/main/java/com/zl/movepkgdemo/Hellworld.dex Helloworld.class
在 --dex后面加入 --no-strict 即可
dx --dex --no-strict --output=/Users/zhengyongxiang/Movepkgdemo/app/src/main/java/com/zl/movepkgdemo/Hellworld.dex Helloworld.class
三、在執行app_process命令之前需要做四件事
1.cd 到你的dex文件放置的目錄,這里是放在 /data/local/tmp
2.令dex文件具有執行權限
3.用su命令切換到root用戶
4.原文章app_process命令最后直接跟的是類名,這樣是無法運行的,需要添加完整的類名,即包名+類名
app_process -Djava.class.path=Helloworld.dex /data/local/tmp com.zl.movepkgdemo.Helloworld
另外最好保持dex的文件名和類名同名。
四、如果你的手機安裝了xposed,由于xposed是對app_process做了改造的,所以會導致運行app_process不成功,這個時候可以在/system/bin目錄下面把xposed的app_process改名字,把app_process.orig改成app_process,這個時候就可以正常運行app_process了。用完后記得把名字改回去。