NDK错误总结
来源:互联网 发布:appstore无法下载软件 编辑:程序博客网 时间:2024/05/29 07:17
1:在android studio 1.5中,开始用默认生成的c文件,编译没有问题,android studio编译没有问题,而且 NDK命令行编译也没有问题;
后来修改为cpp文件,编译不过去了总是提示我找不到 .c 那个文件,但是我已经将.c文件修改为cpp文件了;
修改方法:
方法1:查看android studio1.5生成的android.mk文件,里面的src路径是绝对路径,我将命令行的路径修改为绝对路径就可以编译了;
方法2:但是根据所有的示例,可以知己用当前路径,就是直接写文件名就可以,当你的ndk工程下的libs文件夹和obj文件夹删除,重新编译就可以了;
2:在NDK中用javah.exe生成.h头文件的命令行:
以我的测试工程为例:
D:\AndroidStudioProjects\MyApplication6\app\src\main>javah -d jni -classpath D:\androidsdk\platforms\android-22\android.jar;D:\android_sdk\extras\android\support\v4\android-support-v4.jar;D:\android_sdk\extras\android\support\v7\appcompat\libs\android-support-v7-appcompat.jar;..\..\build\intermediates\classes\debugcom.example.administrator.myapplication.MainActivity
3:关于C和cpp的区别:
一: 转:http://blog.csdn.net/kandyer/article/details/9097051
在C和C++中,NDK中的部分语法不太相同;
jni/hellocpp/main.cpp:16:18: error: base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}'
android java 调用c++程序时报的错误,
代码的写法是:
jstring
Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz, jstring str, jint i )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
错误在于:
(*env)->NewStringUTF(env, "Hello from JNI !");
这一行,这是c的写法,而我的是cpp程序,需要改写成:
env->NewStringUTF( "Hello from JNI !");
待续......
- NDK编译错误总结
- NDK错误总结
- ndk错误总结
- NDK开发常见错误总结
- ndk学习中的错误总结
- [android NDK]问题与错误总结
- Android NDK编译错误
- NDK C++ 编译错误
- NDK编译错误
- android ndk UnsatisfiedLinkError 错误
- NDK开发常见错误
- android ndk编译错误
- as ndk错误解决
- NDK工程错误
- NDK错误排查
- ndk 查找错误
- NDK 定位错误 命令
- NDK常见错误整理
- Swift 闭包Closures
- 如何理解handler.postDelayed方法的用途与意义?
- 在项目中根据配置文件路径生成File对象的方法
- 观电影“时间管理局”有感
- sheet
- NDK错误总结
- Android 第十一天
- Zend Studio 中安装emmet插件的方法
- hdu1176 dp
- 浏览器页面渲染基本过程
- iOS学习路线
- 淘宝架构框架
- 异常com.google.gson.internal.StringMap cannot be cast to XXX解决方案
- iOS 解决sdk在iOS7上出现的Bug