当前位置: 首页 > news >正文

将java生成dex并通过app_process执行的教程

需要用到d8工具,所以需要提前配置好d8的环境变量,我的是windows环境,于是需要将d8路径配置到path里面,如图:
在这里插入图片描述
新打开命令行(一定要新打开命令行,tab标签新开命令行都不行),输入命令以下命令验证是否配置成功:

 d8 --version

接下来,我通过android studio在一个空白的项目里面,new module
在这里插入图片描述
新建了一个Hello.java
在这里插入图片描述

package com.example.case1;

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello from hello dex!");
    }
}

命令行生成

//生成class
javac -d out\ src\main\java\com\example\case1\Hello.java
//生成dex文件
d8 out\com\example\case1\Hello.class --output out/
//将生成的dex推送到/data/local/tmp目录(需要有安卓设备)
adb push out\classes.dex /data/local/tmp/case1.dex
//修改权限为755
adb shell chmod 755 /data/local/tmp/case1.dex

adb shell  //进入设备终端
cd /data/local/tmp  //进去设备路径
//执行app_process
app_process -Djava.class.path=/data/local/tmp/case1.dex /data/local/tmp com.example.case1.Hello
//发现有打印日志
Hello from hello dex!

相关文章:

  • 视频深度估计部署测评
  • Java实战报错
  • 【笔记】为什么Cholesky Decomposition和Rotation-Scaling Decomposition可以解决协方差矩阵正半定性问题?
  • 网管平台核心功能解析(八)——端口下联
  • 红宝书第二十九讲:详解编辑器和IDE:VS Code与WebStorm
  • Lua环境搭建+Lua基本语法
  • OpenCV 图形API(13)用于执行两个矩阵(或图像)逐元素乘法操作的函数mul()
  • (八)图像视图
  • 使用LangGraph构建多代理Agent、RAG
  • WHAT - Electron 系列(一)
  • 第十八章:Python实战专题:北京市水资源数据可视化与图书馆书籍管理应用开发
  • C++ | 函数模板
  • CAD插件实现:自动递增编号(前缀、后缀、位数等)——CADc#实现
  • 配置文件 yaml
  • Unity2D:从零开始制作一款跑酷游戏!
  • 【第2月 day16】Matplotlib 散点图与柱状图
  • 第四课:模型的概念及应用
  • 【trino】trino配置证书https tls/ssl访问
  • Git -> git pull --rebase 遇到error : Filename too long的临时解决方案
  • LTSPICE仿真电路:(二十五)低侧电流检测电路仿真