一、部署ndk
在ubuntu下安装配置android ndk
1.下载android-ndk64-r10b-linux-x86_64.tar.bz2
下载地址:http://dl.google.com/android/ndk/android-ndk64-r10b-linux-x86_64.tar.bz2
2. 把下载好的android-ndk64-r10b版本解压($ sudo tar -xjvf -xvf android-ndk64-r10b-linux-x86_64.tar.bz2 -c /usr/lib )
3.配置环境变量命令:$sudo gedit ~/.bashrc
添加以下代码:
export NDK=/usr/lib/android-ndk-r10b
export PATH=${PATH}:$NDK 保存关闭。
5.source ~/.bashrc使其修改的文件生效。
6.ndk-build看看咱们配置环境变量成功没,只要没出command not found就证明环境变量配置成功,如果成功显示如下,
二、 Android jni里面编写C++代码的时候,我就写了个goto语句,特么也提示下面的错误
error: jump to label ‘XXXX’ [-fpermissive]
2、原因:使用goto的后面语句,有一些初始化变量,如果跳转之后还有变量声明的话,它认为后面定义的变量在跳转label定义时尚未初始化,故而编不过去
3、解决办法:我们应该在goto之前把需要的变量先初始化,而不是在goto之后还有初始化变量。
4、总结:goto语句之前,先把所有需要的初始化变量写完,不要到goto语句后面初始化变量,请保持这个习惯。
三、编译权限问题
还有有个错误,还是有些文件的权限是不能访问的.
索性直接将整个android-ndk的文件夹的权限全部给修改了
然后就正确的进行了编译.所以如果在linux下编译遇到这种错误的话,要有以下的几点检查:
1:检查文件夹是否有属性,因为ndk-build与sudo是不能连用的
2:修改过文件夹如果还不能的话,那就去检查文件,因为如果源文件中出现一些中文空格等的话,这个时候也是会编译报错的