linux(ubuntu14.04)下eclipse+android+opencv+jni环境搭建

       一直以来做的都是PC端的开发,最近对移动开发有了兴趣,加之毕业设计老师让做一个android平台的图像处理应用。由于我在PC端采用的是opencv+c++,所以核心算法不想改太多,所以采用java做壳,c++核心的开发方式。通过ADT+CDT插件,在eclispe下搭建android开发环境。

       之所以选择在linux下搭建,是因为jni只能调用c++源代码编译后的.so文件。在windows下通过cgwin等来模拟,太丑太别扭。

       by the way,更喜欢linux系统~。

      但是网上的教程几乎找不到一个完整无错误的!好无语!所以自个历练一番,记录下来,交流一下。

      废话不多说,进入正题。

安装前需要准备的资源:

                          1.ubuntu14.04(我的是64位的,所以以下软件都是选择64位的,32位的自行下载对应版本,所有安装方法是一样的)

                          2.jdk1.7

                          3.eclipse ee版

                          4.ADT插件

                          5.CDT插件

                          6.android sdk manager

                         7.NDK

以上资源可以去官网下载,但是一般比较慢,所以我提供一个我的网盘,大家可以去下载。下载地址,访问密码 863b

1.安装linux系统。

         我手边只有ubuntu14.04,所以凑合着用下吧。建议装双系统,制作U盘启动盘安装,比较方便和快速。安装的过程最好联网!下面是一个链接,可以参考,但是真心建议联网安装!u盘安装ubuntu14.04 (最后一步用easyBCD修复启动引导项,效果太奇怪,是在ubuntu的引导界面里选择windows后又出现windows和ubuntu启动选项-_-)


         安装好后,可以在自己的home创建一个工作目录。下面我的安装配置都是基于工作目录。例如我的工作目录是:/home/june/work

2.安装jdk。

             在work目录下新建一个java目录,将下载好的jdk7解压到这个目录(命令行还是鼠标操作个人随意)。

 此时的jdk目录就是/home/and/java/jdk1.7.0,此时已经解压完成了,下面来配置环境变量。

 在终端中输入sudo gedit /etc/profile回车,会要求输入密码,然后会打开一个文件,在文件中输入以下四行:

export JAVA_HOME=/home/june/work/java/jdk1.7.0
export JRE_HOME=/home/june/work/java/jdk1.7.0/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH


  然后要使得环境变量生效,网上说法是在终端输入:
source /etc/profile 

.检测是否已经生效,可以关闭当前终端,重新打开一个终端,输入:

 java -version

 接着查看系统路径变量输入 :

echo $PATH

 我测试的结果没有用,只能重启电脑才生效!

3.安装eclispe.

        解压即可。我直接解压到我的work目录下,为了以后启动方便,可以在home目录下的bin文件夹里创建一个软链接(没有bin目录的自己先创建),然后在终端中输入命令:

cd ~/bin

ln -s ~/work/eclipse/eclipse

最后在终端里启动eclispe试试看:eclispe&


4.运行android sdk manager.

             将android sdk manager压缩包里面的内容解压到work下的android_ndk_linux目录下。利用android sdk manager.可以很方便地在线下载android开发需要的api和tool等,但是android sdk manager.默认是从google的服务器上下载,最近google已经被墙了,所以速度极度慢,甚至下载不了。所以需要为android sdk manager.设置代理,选择新的镜像地址。电脑已经翻墙了的,可以不用改镜像。改镜像方法如下:

在终端输入:

  

gedit ~/.android/androidtool.cfg

在打开的文件中修改成如下:

### Settings for Android Tool
#Sun Feb 01 13:34:15 CST 2015
http.proxyPort=80     #可以自己指定端口号,但是不要跟系统已知端口号重复
sdkman.monitor.density=96
sdkman.enable.previews=false
http.proxyHost=mirrors.neusoft.edu.cn  #一个不错的镜像地址,如果后期不能用,可以尝试自己搜索新的镜像
sdkman.ask.adb.restart=false
sdkman.show.update.only=true
sdkman.force.http=true
sdkman.use.dl.cache=true

设置好代理镜像后,在终端中输入:

 

cd  ~/work/android_sdk_linux/tools/

  chmod a+x  android

  ./android


启动manager后,它会自动更新要安装的选项。更新好后,我们选中build tool ,platform tool ,android api5.0, google api 就可以了(这个根据需要选择安装,我的是已经足够了),最后一定要记得:不要选system image 选项,这是为了安装AVD(安卓模拟器),这个安装好后14G!太大了,并且AVD不好用,特别慢,最后是最后直接在安卓手机上面测试运行程序!一些linux安装空间小的用户,如果安装了system image,最后会发现自己的磁盘不够了!!!

 

在等待的过程中,可以再解压NDK包,把SDK和NDK配置一下:

sudo gedit  /etc/profile 

在文件最后加上SDK和NDK的路径和变量。

export JAVA_HOME=/home/june/work/java/jdk1.7.0
export NDKROOT=/home/june/work/android_ndk_linux
export JRE_HOME=/home/june/work/java/jdk1.7.0/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin:$HOME/work/android_sdk_linux/tools:$HOME/work/android_ndk_linux/

然后,等SDK安装好后,还是重启下电脑吧-_-



5.在eclispe里安装ADT和CDT插件

      可以在线安装,方法自己google,但是速度得不到保证,还是本地安装吧。

以安装ADT为例:

edlipse里面选择help->install new software.在弹出的窗口里选择add,然后name输入ADT,路径选择本地ADT安装包。

点击OK,行了,根据提示,一步一步安装吧,中间会有提示是否重新启动eclipse,选择restart now就行了.

同样的方法安装CDT。


6.配置ADT和CDT。(前提是sdk已经安装好了)

          安装好ADT插件后,在重启eclipse后,会弹出让设置sdk目录。设置好目录后,再去windows->preference->android->NDK里面设置NDK的目录。

完事后,关闭重启eclispe。

7.测试android 环境和c++ NDK环境是否搭建成功,可以分别导入官方的sample测试一下。

         我在测试过程中,发现一些问题:

  (1) android和java依赖的库文件一定要保证导入进去了。否则源码文件一片红。。。。

(2)R 文件无法生成!导致源文件里面一片红啊。整个工程只要有错误,就无法自动生成R文件,不管你clean,rebuild工程多少遍。错误原因可以从console的输出可以找到。我当时遇到的是:  aapt:error while loading shared libraries: libstdc++.so.6: cannot openshared object file: No such file or directory

 解决方法是在我的64位系统里安装32位的一些丢失的共享库。在终端里面输入:

sudo apt-get install lib32stdc++6 lib32z1 lib32z1-dev
8.配置opencv-android-sdk

          直接将下载好的OpenCV-2.4.9-android-sdk文件解压,然后将里面的SDK目录下的工程导入eclispe里面,当作库工程(工程属性里面勾选 is library),以后你需要用到opencv的android工程,在工程属性里面引用opencv的库工程就可以了。

9.运行opencv+android的官方sample,

         工程导入进来后,如果有错,要修改工程属性,添加库文件等。他们官网上也有详细的教程解释,虽然是英语的,但是还是解释的很清楚。多去看看。推荐几个:

http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/O4A_SDK.html

http://docs.opencv.org/doc/tutorials/introduction/android_binary_package/android_dev_intro.html



最后总结下:1.网上的安装教程虽说不少,但是大多不全面,甚至有错!坑!

                        2.有问题多google,看英文的帮助,然后自己多大胆动手尝试。

                        3.我也是第一次搭建这样的环境,可能个人理解比较粗浅,大神们请忽略。(但是我搭建成功了,哈哈)

                        4安装过程中遇到的问题,有些已经记不起来了,在安装过程中有问题的同学,.可以留言讨论交流。


因看到某网站未经本人许可,全篇复制了本人博客内容。所以转载请注明出处:linux(ubuntu14.04)下eclipse+android+opencv+jni环境搭建



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值