Android app_process的使用

Posted 改改心情

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android app_process的使用相关的知识,希望对你有一定的参考价值。

环境

win10 + android studio

先准备一个HelloWorld.java类

public class HelloWorld {
    public static void main(String... args) {
        System.out.print("Hello world");
    }
}

编译HelloWorld.java

执行以下代码,生成 HelloWorld.class

javac -source 1.7 -target 1.7 HelloWorld.java

执行以下代码生成classes.dex, F:/Android/SDK是android studio的sdk目录

F:/Android/SDK/build-tools/27.0.3/dx --dex --output classes.dex HelloWorld.class

将HelloWorld.dex push到设备并执行

adb push classes.dex /data/local/tmp/
adb shell CLASSPATH=/data/local/tmp/classes.dex app_process / HelloWorld

执行apk内的HelloWorld类

将apk安装至设备
获取CLASSPATH

adb shell pm path com.sjie.test
输出:
package:/data/app/com.sjie.test-PNXoSOiRofkBI_0H1NS_yA==/base.apk

执行HelloWorld

adb shell
export CLASSPATH=/data/app/com.sjie.yahfatest-PNXoSOiRofkBI_0H1NS_yA==/base.apk
exec app_process /system/bin com.sjie.yahfatest.HelloWorld

adb shell CLASSPATH=/data/app/com.sjie.yahfatest-PNXoSOiRofkBI_0H1NS_yA==/base.apk app_process / com.sjie.yahfatest.HelloWorld

参考:

https://juejin.cn/post/684490...
https://my.oschina.net/u/2730...

以上是关于Android app_process的使用的主要内容,如果未能解决你的问题,请参考以下文章

Android系统启动——Zygote启动

Android系统启动——Zygote启动

安卓源代码----安卓系统启动过程(初次研究源代码,表述不当还请见谅)

Android 开创java世界(JNI Invocation API)

Android Zygote介绍

Android Adapter代码片