CrossApp项目在Eclipse中进行编译报错解决方案

  1、 导入Android工程后,若java代码报错,缺少相应的java 文件,则拷贝CrossApp-master\CrossApp\platform\android\java\src目录下文件到工程的src目录下。

    2、若提示编译工具NDK有问题,则在项目名上右键,选择最下方的Properties,打开配置页面,选中C/C++ Build ,在Build command中将你自己的ndk目录下的ndk-build.cmd的路径粘贴进去,再选择OK即可。



3、也是容易忘的一个错误,初次编译,可能会提示


"\"D:\\home\\android-ndk-r10c\\ndk-build.cmd\"" 
Android NDK: WARNING: APP_PLATFORM android-18 is larger than android:minSdkVersion 8 in ./AndroidManifest.xml    
Android NDK: jni/Android.mk: Cannot find module with tag 'CrossApp' in import path    
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?    
Android NDK: The following directories were searched:    
Android NDK:         
jni/Android.mk:29: *** Android NDK: Aborting.    .  Stop.  


这种错误,需要打开在工程的jni目录下的Android.mk文件
$(call import-module,CrossApp)  
上面添加两句

$(call import-add-path,D:/CrossApp-master)
$(call import-add-path,D:/CrossApp-master/CrossApp/platform/third_party/android/prebuilt)  


这里是我的当前CrossApp的目录D:/CrossApp-master
这两行的这里要替换成你自己的CrossApp的目录。(注意,这里是反斜杠)

4、然后再运行的话就可以看到C++文件已经开始编译,但这里还有个问题,首次编译之后,运行时可能会报错。提示没有找到动态链接库文件,这个时候重新运行即可。(这个bug已经有一段时间,可能是我的环境问题)

5、在Genymotion模拟器上运行时,默认配置是无法运行的。因为Genymotion模拟器是使用的x86架构,而默认NDK生成的只是arm架构的*.so文件,如要支持x86架构,在jni的Application.mk文件中添加一句:
APP_ABI:=x86  
这个方法本应编译x86版本,结果放心CrossApp缺少必要文件导致无法编译,当前版本v0.3.10 希望以后会解决吧。如果诸位有好办法的话,请回复给我
564804771@qq.com















posted @ 2014-11-25 17:23  linwoain  阅读(706)  评论(0编辑  收藏  举报