android studio 2.3 中的是NDK(从Android Studio2.2开始),较之前的版本有了很多改进,至少可以比较简便的正常用了;当然还是有很多不方便;
//YouTube上的配置:
https://www.youtube.com/watch?v=1Da8FTLEBlQ
官方网站的两篇文章:
https://developer.android.com/ndk/guides/cmake.html
https://developer.android.com/studio/projects/add-native-code.html
转两篇相关的文章:
《Cmake 实践》PDF教程,关于cmake的一篇比较简单,但是足够用的cmake教程非常好!
http://sewm.pku.edu.cn/src/paradise/reference/CMake%20Practice.pdf
一篇简单的cmake和NDK的文章
http://blog.csdn.net/xiaoyu_93/article/details/53082088
官方网站关于cmake和NDK的一些应用介绍
https://developer.android.google.cn/studio/projects/add-native-code.html?hl=zh-cn#new-project
关于cmake应用比较详细的一片文章
http://www.jianshu.com/p/4eefb16d83e3
{从上面的文章特别写出来
在一些情况下,我们没有能力开发so库,当别人抛一个库过来的时候我们直接使用就好了。
首先,我们告诉脚本我们只需要导入so库,不需要构建操作。
add_library( imported-lib
SHARED
IMPORTED )
接着,我们要设置so库的路径了
set_target_properties(target1 target2 ...
PROPERTIES prop1 value1
prop2 value2 ...)
举例:
set_target_properties(
imported-lib // so库的名称
PROPERTIES IMPORTED_LOCATION // import so库
libs/libimported-lib.so // so库路径
)
也就是说,如果在项目中建立了多个文件生产so库,则可以用 target_link_libraries;当使用已经存在so库时,不应该配置
target_link_libraries()
方法,因为只有在build 库文件时才能进行link操作。
如果用x264等第三方库,但是这里没有cmake编译链接,就需要用上述方法了;
}
这里有几个需要注意的地方:
在Windows7 x64系统上:
之前:我用的是Android Studio zip版本(解压后用里面的32位Androidstudio),加压后,系统上的JDK,SDK ,NDK,QT,VisualStudio等相关的软件工具全部都是32位的,可以正常应用;
问题:现在在win7 64 系统上创建Android Studio2.3的NDK(include C++)后总是编译错误;
解决方法:
1:获取最新的Android Studio2.3 64位zip版本(Windows(64-bit),目前最新版本,解压后依然是有 32位和64位Android Studio);
https://developer.android.com/studio/index.html
2:获取NDK 64位版本:android-ndk-r13b-windows-x86_64.zip;
https://developer.android.com/ndk/downloads/index.html
3:启动解压后Android Studio 64.exe;
4:设置:Settings -》 Appearance & Behavior > System Settings > Android SDK -》SDK Tools 勾选CMake 和LLDB,然后点击OK获取;
5:设置:Project Structure -》 SDK Location 设置最新的NDK 64位路径;
6:其它相关的,如JDK依然是32位的;现在编译OK了;
因为还要配合Qt, Visual Studio等这些环境,我在我的win7 64位系统上安装的依旧是32位软件,所以这些软件可以继续用32位的NDK(在软件中设置相关路径);
最好方法就是在64位系统上全部安装64位软件。
建立Android studioC++工程;
方法一:一般建立工程的时候可以直接勾选C++,然后下一步直到完成就可以了;
方法二:如果工程已经建立了,但是没有一开始勾选C++;那么可以将NDK工程或者Cmake工程放到已经建立的Android工程目录中,然后通过菜单可以添加到工程中;