编译安卓so库

一、部署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:修改过文件夹如果还不能的话,那就去检查文件,因为如果源文件中出现一些中文空格等的话,这个时候也是会编译报错的
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值