ubuntu android 加入so文件,Ubuntu下Android NDK配置及生成so文件步骤

一、首先解压到你指定的目录

zhangkai@zhangkai-K45VM:~$ bzip2 -d android-ndk-r8e-linux-x86_64.tar.bz2

zhangkai@zhangkai-K45VM:~$ tar -xvf android-ndk-r8e-linux-x86_64.tar

二、然后配置NDK的环境变量

zhangkai@zhangkai-K45VM:~$vi ~/.bashrc

添加:export NDK_HOME=/opt/android-ndk-r8e

然后保存退出,执行命令重新加载环境变量

zhangkai@zhangkai-K45VM:~$source ~/.bashrc

三、编译hello

进入NDK安装目录下samples/hello-jni,在该目录下执行$NDK_HOME/ndk-build,成功信息如下

zhangkai@zhangkai-K45VM:/opt/android-ndk-r8e/samples/hello-jni$ $NDK_HOME/ndk-build

Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver

Gdbsetup : libs/armeabi/gdb.setup

Install : libhello-jni.so => libs/armeabi/libhello-jni.so

此处借用其他文章的两个Error:

Error 1:

"prebuilt/linux-x86/bin/make: not found" or

"prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: Command not found"

Try:

sudo apt-get install build-essential

sudo apt-get install libc6-dev-i386 ia32-libs

Error 2:

"prebuilt/linux-x86/bin/arm-linux-androideabi-gcc: Command not found"

Try:

Ubuntu如果使用默认解压管理器解压,则可能报上述错误,因为默认解压管理器未解压符号链接,改用tar去解压即可,示例:

bzip2 -d xxx.tar.bz2

tar -xvf xxx.tar

注意,不要用-zxvf参数。

四、绑定eclipse

1、在相应工程根目录下新建jni文件夹,将samples/hello-jni/jni/Android.mk及相应的c文件放入jni文件夹中。并打开Android.mk将其中的LOCAL_MODULE修改为工程名称,LOCAL_SRC_FILES修改为相应的c文件

LOCAL_MODULE := aiyouwei

LOCAL_SRC_FILES := hello-jni.c

2、关联工程配置,对工程点右键,Properties-Builders,点击New,写上期望的名称,Main下的Location里选择ndk-build文件路径,Working Directory选择到工作区的指定的jni目录,如图

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

选择Refresh,勾选上如图选项

0818b9ca8b590ca3270a3433284dd417.png,点击Specify Resources,然后选择本工程的jni文件夹位置

0818b9ca8b590ca3270a3433284dd417.png

选择Build Options,如图勾选,选择Specify Resources指定为相应的jni文件夹,点击ok即可。

0818b9ca8b590ca3270a3433284dd417.png

然后对工程进行编译,快捷键Ctrl+B,此时刷新libs文件夹,便可以看到编译好的so文件。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值