import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
public native String stringJNI();
static {
System . loadLibrary ("Androidqw");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView myTextField = (TextView)findViewById(R.id.myTextField);
myTextField.setText(stringJNI()); //get exception
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
我在myTextField.setText(stringJNI())
中收到了InvocationTargetException。我不知道为什么我会这样做。我的最小SDK版本是10,我的目标是11。
答案 0 :(得分:0)
在此之上是因为函数StringJNI()
的声明中的一些错误extern "C"
{
JNIEXPORT jstring JNICALL Java_com_example_andest1_MainActivity_stringJNI(JNIEnv* ssenv,jobject clazz);
}
JNIEXPORT jstring JNICALL Java_com_example_andest1_MainActivity_stringJNI(JNIEnv* env,jobject clazz)
{
}
ssenv错误的指针变量