文档详情

androidndk常见的问题及解决的方法.doc

发布:2017-05-27约1.12千字共2页下载文档
文本预览下载声明
在ndk编译的过程中遇到的一些问题: 1 在用ndk-build编译的时候,被编译的文件的路径中不能包含空格。如果包含有空格将会出现这样的错误信息:Android NDK:Your Android application project path contains spaces,这个时候自己检查嫌检查下你的文件的路径中是不是包含有空格,一般的话问题出现在文件夹的命名上面。 2 遇到错误之后常见的调试手段: 用ndk开开发应用出现问题是在所难免的,出现问题是我们首先想到的就是尽快的定位错误的地方,logcat查看信息是一个有效的手段,这边又要分为两种情况: ? ? ? 1 java代码中: ?在java中可以采用log这个类,这个类包含在android.util中,在使用的时候要Import 头文件android.util.log,它又分为下面的这几个: Log.v(String tag, String msg);???? verbose Log.d(String tag, String msg);??? debug Log.i(String tag, String msg);???? information Log.w(String tag, String msg);??? warning Log.e(String tag, String msg)??? error 上面这些是用于在java文件中打调试信息,再用logcat查看 ? ? ? 2 c /c++ 代码中: Android中ndk的开发是使用的c/c++和java混编的,一旦问题出现在我们的xxx.so中的话,上面讲到的那几种方法就失效了,这个时候就需要使用__android_log_write,这是android ndk中支持的调试方式,总共有四种形式:具体的参见:android_source_code/prebuilt/ndk/android-ndk-r4/platforms/android-8/arch-unicore32/usr/include/android 上面说的那个方法需要在Android.mk中显示将liblog.so添加进来,一般的默认的是不包含的。即在Android.mk中添加这句话: LOCAL_LDLIBS := -lGLESv1_CM -ldl-L$(SYSROOT)/usr/lib –llog 3 要十分注意java代码和c /c++ 代码glue(胶合)的部分: 这一部分常见是的load_library中的动态库的名字要和Android.mk中的对应,二是jni有一定的命名规则,注意函数名字的对应。
显示全部
相似文档