Android 代码中启动java程序 app_process

Android 代码中启动java程序

通过app_process 即可 App的启动在源码里也是通过app_process

Runtime.getRuntime().exec 用执行命令行的方式 通过 app_process来启动新的进程

demo

JavaProcess 要加载的java程序代码 其中要有main函数入口

java 复制代码
import android.util.Log;

public class JavaProcess {
 
    public static void main(String[] array){
        boolean isShow = false;
        if (array != null && array.length > 0){
            isShow = Boolean.valueOf(array[0]);
        }
        Log.e("Mny","HIjack");
        System.out.println("输出参数"+isShow);
    }
}

MainActivity

java 复制代码
public class MainActivity extends AppCompatActivity {
    String cmd;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        cmd = String.format("export CLASSPATH=%s;exec app_process /system/bin  %s %s ---application",
                this.getApplicationContext().getPackageResourcePath(),//应用包路径
                JavaProcess.class.getName(), //需要执行的java类
                "xxxxx");//java类main参数
        runExex(cmd);
    }
    public void runExex(String cmd){
        try{
            Process process = Runtime.getRuntime().exec("su");// 切换到root帐号
            DataOutputStream os = new DataOutputStream(process.getOutputStream());
            os.writeBytes(cmd);
            os.writeBytes(" exit \n");
            os.flush();
        }catch ( Exception e){
            e.printStackTrace();
        }
    }
}
相关推荐
怒放吧德德6 小时前
Netty 4.2 入门指南:从概念到第一个程序
java·后端·netty
雨中飘荡的记忆8 小时前
大流量下库存扣减的数据库瓶颈:Redis分片缓存解决方案
java·redis·后端
火柴就是我8 小时前
让我们实现一个更好看的内部阴影按钮
android·flutter
心之语歌10 小时前
基于注解+拦截器的API动态路由实现方案
java·后端
华仔啊11 小时前
Stream 代码越写越难看?JDFrame 让 Java 逻辑回归优雅
java·后端
ray_liang11 小时前
用六边形架构与整洁架构对比是伪命题?
java·架构
IVEN_12 小时前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang13 小时前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮13 小时前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python
Java水解13 小时前
Java 中间件:Dubbo 服务降级(Mock 机制)
java·后端