Java 可以在JVM中运行Android应用程序吗?
我试图在Android应用程序上运行符号测试,以收集一些信息,例如,执行树。因此,我希望在JVM中运行它,而不是在模拟器中运行,因为有很多现有的Java应用程序符号测试工具 我试着运行HelloAndroid,它是一个示例应用程序,通过Java 可以在JVM中运行Android应用程序吗?,java,android,Java,Android,我试图在Android应用程序上运行符号测试,以收集一些信息,例如,执行树。因此,我希望在JVM中运行它,而不是在模拟器中运行,因为有很多现有的Java应用程序符号测试工具 我试着运行HelloAndroid,它是一个示例应用程序,通过 java -cp ./ -cp $ANDROID_LIB/android.jar HelloAndroid.class 其中HelloAndroid.class是在转换为.dex之前编译的Java类。但JVM一直在抱怨 Exception in thread
java -cp ./ -cp $ANDROID_LIB/android.jar HelloAndroid.class
其中HelloAndroid.class是在转换为.dex之前编译的Java类。但JVM一直在抱怨
Exception in thread "main" java.lang.NoClassDefFoundError: HelloAndroid/class
Caused by: java.lang.ClassNotFoundException: HelloAndroid.class
我很困惑,因为我已经指定了HelloAndroid类。源代码中没有复杂的语句或对Android库的调用:
package com.example.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
}
}
我是Android新手,正在努力使这个小应用程序在JVM中执行。你能给我一些建议吗?我想知道我是否走对了路,我的意思是尝试在JVM中执行简单的应用程序?谢谢 Android应用程序的编译方式与Java应用程序不同。Android应用程序被编译成.dex文件,其中普通Java应用程序被编译成jar文件;两者都不可能彼此兼容 目前最接近在PC上运行Android应用程序的是Android emulator 所以要回答你的问题,不,在Oracle的JVM中运行Android应用程序是不可能的