我正試圖在Android應用程序上運行符號測試來收集一些信息,例如執行樹。因此我想在JVM而不是模擬器中運行它,因爲Java應用程序中有很多現有的符號測試工具。是否可以在JVM中運行Android應用程序?
我試圖通過
java -cp ./ -cp $ANDROID_LIB/android.jar HelloAndroid.class
其中HelloAndroid.class被轉換成.DEX之前編譯的Java類運行HelloAndroid這是一個示例應用程序上的TextView輸出「你好Android」的。但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中執行簡單的應用程序?謝謝!