Eclipse external tools以及windows dos“无法访问android.app.Activity 找不到android.app.Activity的类文件”详细解决办法

问题出现:

1.windows dos中用javah 命令生成c、c++ 的头文件


2.使用Eclipse的external tools生成头文件报错



1.dos中报错的错误原因:

执行javah命令时,找不到解析android.app.Activity 的android.jar包


第一种解决办法:指定android.jar路径

解决办法:执行javah命令时,用“-bootclasspath"指定android.jar包的路径,android.jar包属于android源码编译jar包,它存在于每个android platform里,一般路径为

“sdk路径\platforms\android-xx\android.jar”,例如platform 14的路径为"sdk路径\platforms\android-14\android.jar"


第一步:进入项目主目录



第二步:执行javah 命令

(1)在项目主目录下生成头文件命令:javah -classpath bin/classes -bootclasspath sdk路径\platforms\android-14\android.jar  项目路径(示例中为com.example.hellojni.HelloJni)


生成结果:


(2)在指定目录下生成头文件(示例中以项目目录/jni为指定目录)命令:javah -classpath bin/classes -bootclasspath sdk路径\platforms\android-14\android.jar  -d jni  项目路径(示例中为com.example.hellojni.HelloJni)


生成结果:



第二种解决办法:利用项目源码编译头文件

第一步:进入项目src目录



第二步:在指定目录下生成头文件(示例中以项目目录/jni为指定目录,由于在第一步中进入了src目录,src目录与jni目录为同个目录下的两个目录,所有使用../退回一级目录,回到项目主目录下)命令:

javah -d 存储头文件目录  所需生成java头文件的类(com.example.hellojni.HelloJni)


生成结果:





2.使用Eclipse的external tools,Console中报错

(特别注意,在进行以下方法解决问题时,注意自己项目路径中不可出现有空格,例如错误路径:"E:\software\java\ndk workplace"(ndk workplace中有空格),正确路径:"E:\software\java\ndk_workplace")

报错原因:

external tools configurations 中没有正确配置sdk中android.jar的路径,有些人可能根据某些资料,例如 《Android C++ 高级编程 使用ndk》一书中的配置:



但是结果一样报错,这个原因是因为没有正确配置ANDROID_SDK_HOME的系统环境变量。

解决办法:配置android.jar的路径

代码:-classpath "${project_classpath};SDK安装路径/platforms/android-14/android.jar" ${java_type_name}


或者将android sdk安装路径配置成系统环境变量

将android sdk安装路径配置成系统环境变量如同配置jdk成为系统环境变量一样,由于如何配置系统变量这跟本文章要解决问题关系不大,不懂的朋友,自己去搜素资料


配置执行结果:



参考链接:http://bbs.csdn.net/topics/370236601  中11楼GeekerParadise的回复


参考书籍:Android C++ 高级编程-使用NDK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值