java - 如何在 root 设备上调用 Android 中的 J2SE JVM 之类的 Java 类?

标签 java android root invoke dalvik

我们为嵌入式产品构建 Android 平台。基本上你可以把它想象成一个 root 的 android 盒子。

我们有为标准 J2SE 环境开发的 Java 代码。我正在将它移植到 Android。部分代码被包裹在一个android服务中,并在一个服务中启动。有些部分需要它以 super 用户权限运行。比如打开/dev文件夹下的文件,绑定(bind)到1024以下的tcp端口等等。

我想知道我是否可以将此代码包装在 J2SE 样式的公共(public) Java 类中并使用 dalvik 直接调用它(即类似于“dalvik -classpath mycompany.MyWrapper”)。
感谢任何描述执行此操作方法的链接。

谢谢

最佳答案

您可以直接从命令行调用 dalvik,并使用标准的静态 main(String[] args) 方法执行一个类。

dalvikvm -cp <jar_file> <class_name>

举个完整的例子,假设您在 Hello.java 中有以下类定义

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

然后,在设备上实际运行它:

javac Hello.java
dx --dex --output=classes.dex Hello.class
zip Hello.zip classes.dex
adb push Hello.zip /sdcard/
adb shell dalvikvm -cp /sdcard/Hello.zip Hello

关于java - 如何在 root 设备上调用 Android 中的 J2SE JVM 之类的 Java 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8733064/

相关文章:

mysql谨慎撤销root权限

java - 如何在没有HTTP标签的情况下在Spring Security中设置基本身份验证?

java - MAP_OUTPUT_RECORDS 值在 reducer 类中不断变化

android - Android 中的子元素可以忽略其包含样式吗?

java - 在屏幕截图中显示警报对话框

linux - 在 Linux 中获取 IO 权限

php:设置项目的根目录?

java - Heroku 404 错误/找不到全局 web.xml

java - JAVA中如何将字符串转换为对象

android - 在 Android 上录制视频而不在屏幕上显示视频