0
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()). 我不明白为什么我会得到这个。我的最低 SDK 版本是 10,我的目标是 11。

4

1 回答 1

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 错误的指针变量

于 2013-01-30T03:39:32.107 回答