https://blog.csdn.net/ipfpm/article/details/81132144

【ubuntu】Ubuntu中Android SDK下载跟配置 android24的版本

(1)  安装ADNORID SDk环境

https://developer.android.com/studio

1.1 安装JAVA环境

https://cloud.tencent.com/developer/article/1162527

https://www.howtoing.com/how-to-install-java-with-apt-on-ubuntu-18-04

OpenJDK 8

Java 8是目前的长期支持版本,虽然公共维护在2019年1月结束,但仍然得到广泛支持。要安装OpenJDK 8,请执行以下命令:

sudo apt install openjdk-8-jdk

验证这是与安装

java -version

也可以只安装JRE,你可以通过执行sudo apt install openjdk-8-jre 。

OpenJDK 10/11

Ubuntu的存储库包含一个安装Java 10或11的软件包。在2018年9月之前,该软件包将安装OpenJDK 10.一旦Java 11发布,该软件包将安装Java 11。

要安装OpenJDK 10/11,请执行以下命令:

sudo apt install openjdk-11-jdk

要仅安装JRE,请使用以下命令:

sudo apt install openjdk-11-jre

接下来,让我们看看如何安装Oracle的官方JDK和JRE。

1.2 配置JAVA_HOME

设置JAVA_HOME环境变量

许多使用Java编写的程序使用JAVA_HOME环境变量来确定Java安装位置。

要设置此环境变量,请首先确定Java的安装位置。使用update-alternatives命令:

$ sudo update-alternatives --config java

此命令显示Java的每个安装及其安装路径:

There are 3 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode
2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode
3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode Press <enter> to keep the current choice[*], or type selection number:

在这种情况下,安装路径如下:

  1. OpenJDK 11位于 /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
  2. OpenJDK 8位于/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
  3. Oracle Java 8位于/usr/lib/jvm/java-8-oracle/jre/bin/java

从您想要的安装中复制路径。然后使用nano或您喜欢的文本编辑器打开/etc/environment

$ sudo nano /etc/environment

在此文件的末尾,添加以下行,确保使用您自己复制的路径替换突出显示的路径:

/etc/environment

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/java"

修改此文件将为系统上的所有用户设置JAVA_HOME路径。

保存文件并退出编辑器。

现在重新加载此文件:

$ source /etc/environment

验证是否已设置环境变量:

$ echo $JAVA_HOME

您将看到刚刚设置的路径:

/usr/lib/jvm/java-11-openjdk-amd64/bin/java

其他用户需要执行命令source /etc/environment或注销并重新登录才能应用此设置。

1.3 下载

https://blog.csdn.net/opengl_es/article/details/80184519

解压后,出现 tools 目录,将其放入一个空的 SDK 待安装目录下,开始安装。

二、列出可安装组件包

使用快捷键 CTRL + ALT + T 打开 Console 控制端,进入上面解压出来的 tools 目录下的 bin 目录,找到 sdkmanager ,

执行如下命令

./sdkmanager --list ( ../android list sdk  已过时)

三、安装组件包

接下来,选择上面的 PATH 列内容进行安装,命令如下:

$ ./sdkmanager "system-images;android-27;google_apis;x86"

./sdkmanager  "双引号中是上面的path"

./sdkmanager "build-tools;28.0.0"
./sdkmanager "ndk-bundle"
./sdkmanager "ndk;20.0.5594570"
./sdkmanager "platforms;android-28"
./sdkmanager "sources;android-28"
./sdkmanager "system-images;android-28;google_apis;x86_64"

2 编译opencv以及opencv_contrib

https://www.cnblogs.com/klchang/p/7563494.html

本文以编译opencv 3.3.0 和 opencv_contrib 3.3.0为例,系统为 Linux x64 (Fedora 21),具体步骤如下:

1. 下载 Source code zip 压缩包

从下面网址,选择 opencv 3.3.0 Source code 下载 
https://github.com/opencv/opencv/releases

从下面网址,选择下载与 opencv 3.3.0 对应的 opencv_contrib 3.3.0 
https://github.com/opencv/opencv_contrib/releases

注意:opencv和opencv_contrib 版本必须保持一致,否则可能会出现编译错误。

2. 下载 build-opencv-for-android 开源代码

$ cd /mnt/work
$ git clone https://github.com/tzutalin/build-opencv-for-android.git
$ cd build-opencv-for-android

3. 解压源码包并重命名

将opencv-3.3.0.zip 和 opencv_contrib-3.3.0.zip 都解压到下载的build-opencv-for-android 开源代码 所在目录 /mnt/work/build-opencv-for-android 。

$ unzip opencv-3.3.0.zip -d /mnt/work/build-opencv-for-android
$ unzip opencv_contrib-3.3.0.zip -d /mnt/work/build-opencv-for-android
$ cd /mnt/work/build-opencv-for-android
$ mv opencv-3.3.0 opencv
$ mv opencv_contrib-3.3.0 opencv_contrib

4. 修改 build-opencv-for-android 开源代码中 build-android-opencv.sh

修改内容如下:

修改 第 6 行代码:

declare -a ANDROID_ABI_LIST=("x86" "x86_64" "armeabi" "arm64-v8a" "armeabi-v7a" "mips" "mips64")

declare -a ANDROID_ABI_LIST=("armeabi-v7a")

3 错误

opencv_contrib/modules/xfeatures2d/src/boostdesc.cpp:653:20: fatal error: 'boostdesc_bgm.i' file not found

下载这些文件

xfeatures2d/boostdesc: Download failed: 7;"Couldn't connect to server"

下载 对应的文件

放到

build-opencv-for-android\opencv_contrib\modules\xfeatures2d\cmake

build-opencv-for-android\opencv_contrib\modules\xfeatures2d\src

5. 执行脚本 build-android-opencv.sh

$ ./build-android-opencv.sh /mnt/work/android/android-sdk-linux/ndk-bundle

注:build-android-opencv.sh脚本的通用的执行命令格式为“./build-android-opencv.sh [NDK_ROOT]”,其中,参数NDK_ROOT是可选的,表示Android Native Development Kit (NDK) 顶层目录,如果没有提供,则会试图寻找环境变量 ANDROID_NDK。

6 在Android中使用

在mk文件中加入

# OpenCV
OPENCV_CAMERA_MODULES:=on
OPENCV_INSTALL_MODULES:=on
OPENCV_LIB_TYPE:=STATIC
#include D:/project\Android\OpenCV-2.4.10-android-sdk\sdk\native\jni\OpenCV.mk
#include /software/OpenCV-android-sdk/sdk/native/jni/OpenCV.mk #without opencv_contrib
include /software/build-opencv-for-android/android_opencv/opencv/sdk/native/jni/OpenCV.mk #with opencv_contrib

7 问题2

terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(3.4.3-dev) /home/zhourui/Software/opencv_contrib/modules/xfeatures2d/src/sift.cpp:1205: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration; Set OPENCV_ENABLE_NONFREE CMake option and rebuild the library in function 'create'

https://zhuanlan.zhihu.com/p/48854990

cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules -DOPENCV_ENABLE_NONFREE=ON

最新文章

  1. jquery 时间控件怎么能禁止输入只能选择日期?
  2. swfupload提示“错误302”的解决方法
  3. Pro Mac 如何将英文文件夹汉化为中文
  4. Alpha 和Beta 测试
  5. P6 Professional Installation and Configuration Guide (Microsoft SQL Server Database) 16 R1
  6. Python学习(3)变量类型
  7. 慕课网-安卓工程师初养成-4-1 Java条件语句之 if
  8. Java http post
  9. poj3624背包问题(一维数组)
  10. c#中设置按钮Button为透明
  11. android Gallery滑动不流畅的解决
  12. CheckBox和控件Foreach循环
  13. ASP.NET中重复表格列合并的实现方法(转自脚本之家)
  14. Yii2如何添加sql日志记录的配置信息
  15. C++ STL的一些操作
  16. webservice 配置
  17. java-信息安全(十二)-数字签名【Java证书体系实现】
  18. centos6.5新增加硬盘挂载并实现开机自动挂载
  19. Django的rest_framework的序列化组件之序列化多表字段的方法
  20. Java Swing 中使用 EventQueue

热门文章

  1. Hexo 文章图片添加水印,不用云处理
  2. CentOS6.7搭建部署DHCP服务 (详解主配置文件)
  3. Httpd服务入门知识-Httpd服务常见配置案例之日志设定
  4. 软工团队第三次作业——编码组Alpha版本
  5. 看TED演讲——Why you will fail to have a great career
  6. vue全家桶面试
  7. 【转】Linux下tcp连接断开后不释放的解决办法
  8. 记一次部署时报java.lang.NoSuchMethodError:javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax / persistence / ValidationMode;的解决办法
  9. 谷歌浏览器打开不了Axure生成的html文件
  10. GPU的主要工作:图像合成、图形操作、光线表达