关闭

JNI 错误: 无法访问android.app.Activity

603人阅读 评论(0) 收藏 举报

一直都是搞JNI得半成品,今天想从头来一次,结果就遇到一个很low的错误,给大家分享一下

错误: 无法访问android.app.Activity
我随便写了个JNI方法,activity代码如下

package com.example.jqjni_1;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
	     Log.v("dufresne", printJNI("I am HelloWorld Activity"));
	}
	private native String printJNI(String inputStr);
	static{
		
		System.loadLibrary("JqJniOne");
	}
	
}

然后我进入到根目录的bin,下,classes 下执行如下:

localhost:JQJNI-1 jq$ ls
AndroidManifest.xml	ic_launcher-web.png	res
assets			libs			src
bin			proguard-project.txt
gen			project.properties
localhost:JQJNI-1 jq$ cd bin/
localhost:bin jq$ ls
AndroidManifest.xml	classes.dex		res
JQJNI-1.apk		dexedLibs		resources.ap_
classes			jarlist.cache
localhost:bin jq$ cd classes
localhost:classes jq$ ls
com
localhost:classes jq$ javah com.example.jqjni_1
错误: 找不到 'com.example.jqjni_1' 的类文件。
localhost:classes jq$ javah com.example.jqjni_1.MainActivity
错误: 无法访问android.app.Activity
  找不到android.app.Activity的类文件

最后,退到src 目录

localhost:JQJNI-1 jq$ cd src/
localhost:src jq$ ls
com
localhost:src jq$ javah -d ../jni com.example.jqjni_1.MainActivity
localhost:src jq$ 

结果生成了了



ok,成功了。







0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:39281次
    • 积分:894
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:15篇
    • 译文:0篇
    • 评论:3条