IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Parrot ANAFI GroundSDK(安卓)在Ubuntu 18.04上的部署 -> 正文阅读

[移动开发]Parrot ANAFI GroundSDK(安卓)在Ubuntu 18.04上的部署

一、前言

  • 接下来我们将在linux环境下进行 GroundSDK-Android 的安装与调试,Parrot官方给的文档大体上没问题,但是我此前从未接触过Android开发,因此遇到了一些坎,特此记录。
  • 以下为官方安装教程链接:
    1、Setup Ground SDK AAR
    2、Install and build GroundSdk
  • 如果某些文件无法编辑,可以使用chmod命令改变文件的权限,注意谨慎使用。

二、环境准备

1、Ubuntu 18.04

  • 我是使用双系统进行安装测试的,如果使用虚拟机,本文可以当作参考。
  • 官网给的提示如下:
    官网提示

2、Android Studio 3.4及以上

  • 官方下载地址:Android Studio

       下载没反应的话可以尝试把下载网址中的 https 换成 http
    
  • 安装 Android Studio: Android Studio Install
    访问不了的看这张图就可以了

       sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 lib32z1 libbz2-1.0:i386  
    

    在这里插入图片描述

  • 下载并解压到 /opt/ 目录下,执行命令:

    cd /opt/android-studio/bin/
    ./studio.sh 
    
  • 第一次打开Android Studio会提示我们没有SDK,按照提示下载即可,记下来SDK安装的路径。

  • 我们需要配置环境变量,这里先不配,等下和NDK一起配置。

在这里插入图片描述
在这里插入图片描述

3、JDK1.8.0_321(只要是JDK8 都可)

  • 从官网下载JDK8到/opt/目录或其它目录下 并解压( 下载链接
    在这里插入图片描述

  • 配置环境变量: vim /etc/profile

      	export JAVA_HOME=/opt/jdk1.8.0_321
      	export JRE_HOME=${JAVA_HOME}/jre
      	export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
      	export PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
    
  • 记得保存!然后关闭。为了使改动生效,还需执行:source /etc/profile

  • 检查jdk安装是否成功:java -version
    在这里插入图片描述

4、Android NDK Revision 17c for Linux

  • 下载此版本NDK并解压到 /opt/ 目录下:Android NDK Revision 17c for Linux

  • 配置环境变量前有一个小插曲,先下载安装 Repo 工具 (以下内容摘自Parrot官网)

    • Download it from Google APIs
    • Put it in a directory that is included in your path ——>(~/bin)
    • Make it executable with chmod a+x repo
  • 配置环境变量: vim /etc/profile

     ###这里配置了SDK、NDK以及Repo的环境变量
     export ANDROID_HOME=/home/XXX/Android/Sdk
     export ANDROID_SDK_ROOT=/home/XXX/Android/Sdk
     export ANDROID_SDK_PATH=/home/XXX/Android/Sdk
     export ANDROID_NDK_ROOT=/opt/android-ndk-r17c
     export ANDROID_NDK_PATH=/opt/android-ndk-r17c
     export REPO_HOME=~/bin
     
     export PATH=$PATH:$REPO_HOME
    
  • 记得保存!然后关闭。为了使改动生效,还需执行:source /etc/profile

5、下载安装编译好的LLVM

  • 这里使用编译好的LLVM,也可以自己下载源码在本地进行编译,不过耗时太久,占用空间太多,不建议这么做,有兴趣的话可以深入研究。

  • 想本地编译的可以看这位大哥的文章 LLVM_Ubuntu安装,直接下载编译好的步骤也是这位大哥做的,这里我偷个懒,哈哈~

  • 安什么版本的一般都没关系,这里我安装的的是 LLVM 8.0.0,选择 Ubuntu 18.04(.sig) ——> LLVM下载官网在这里插入图片描述

  • 配置环境变量: vim /etc/profile

     export LLVM_HOME=/usr/local/llvm/bin
     export PATH=$PATH:$LLVM_HOME
    
  • 记得保存!然后关闭。为了使改动生效,还需执行:source /etc/profile

  • 附:到这里我们的环境变量已经全部完成了, /etc/profile文件内容为

      export JAVA_HOME=/opt/android-studio/jre
      export ANDROID_HOME=/home/XXX/Android/Sdk
      export ANDROID_SDK_ROOT=/home/XXX/Android/Sdk
      export ANDROID_SDK_PATH=/home/XXX/Android/Sdk
      export ANDROID_NDK_ROOT=/opt/android-ndk-r17c
      export ANDROID_NDK_PATH=/opt/android-ndk-r17c
      export LLVM_HOME=/usr/local/llvm/bin
      export REPO_HOME=~/bin
      
      export JAVA_HOME=/opt/jdk1.8.0_321
      export JRE_HOME=${JAVA_HOME}/jre
      export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
      
      export PATH=$PATH:$LLVM_HOME:$REPO_HOME:${JAVA_HOME}/bin:${JRE_HOME}/bin    
    
  • 记得保存!然后关闭。为了使改动生效,还需执行:source /etc/profile
    为了环境变量在当前用户下也可以正常生效,将上述文本复制到——> ~/.profile

     vim ~/.profile 
     source ~/.profile
    

6、下载GroundSDK

  • 首先你需要一个Github账户

     git config --global user.name "Your Name"
     git config --global user.email "you@example.com"
    
  • 选择GroundSDK的下载目录,我放到了 /opt/

      cd /opt/
      mkdir groundsdk
      cd groundsdk
      
      repo init -u https://github.com/Parrot-Developers/groundsdk-manifest
      repo sync
    
  • 到这里,我们的工作已经完成一大半了,下面是 build.gradle 的配置, 编辑build.gradle 有两种方式:

      1、先将工程导入到Android Studio再使用AS编辑
      2、使用vim编辑器编辑: vim /opt/groundsdk/packages/groundsdk-android/groundsdkdemo/build.gradle    
      需要注意的是,配置的是Module下的build.gradle,也就是 build.gradle(Module:gsdk.groundsdk)
      两条线之间的内容是官网给的需要添加的内容,这里有一个十分重要的点,就是这两个依赖的版本号
    
     // Add Ground SDK dependencies
        implementation 'com.parrot.drone.groundsdk:groundsdk:1.8.0'
        runtimeOnly 'com.parrot.drone.groundsdk:arsdkengine:1.8.0'
    
      应该和 https://github.com/Parrot-Developers/groundsdk-android 下图所示版本号对应.
    

    在这里插入图片描述
    PS: MVNRepository(这个网站可以用来查看你所引用的依赖都有哪些版本)

  • 接下来运行命令

     cd /opt/groundsdk/
     ./build.sh -p groundsdk-android -t build -j
    
  • 运行成功以后,在你的grandsdk目录下会出现一个 /out文件夹 ,进到内层有以下几个文件夹,代表编译打包过后的程序支持什么系统,我们模拟器选择的系统应该是以下之一。在这里插入图片描述

  • 另外:简单来说jcenter马上要停止服务了,所以我们这里需要加上其他仓库,具体可以看官网公告:JFrog官网公告

     repositories {
    	 // Add jcenter repository (if not already present)
     	jcenter()
     	google()
     	mavenCentral()
     }
    
    apply plugin: 'com.android.application'
    
    android {
        defaultConfig {
            // Google Geo API key. Put your own key to enable google Maps related features in demo.
            resValue 'string', 'gsdkdemo_google_geo_api_key', ''
    
    
             // Set minimum SDK version supported by GroundSdk
            minSdkVersion 24
    
            
        }
    
        lintOptions {
            disable 'StringFormatInvalid', 'IconMissingDensityFolder', 'NonConstantResourceId'
            checkDependencies true
        }
    
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    
    }
    
    repositories {
        // Add jcenter repository (if not already present)
        jcenter()
        google()
        mavenCentral()
    }
    
    
    
    dependencies {
        runtimeOnly project(':arsdkengine')
    
        implementation project(':groundsdk')
        implementation project(':sdkcore')
    
        implementation androidXLocalBroadcastManager
        implementation googlePlayServicesLocation
        implementation 'com.google.android.gms:play-services-maps:17.0.0'
        implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
        implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
        implementation 'com.google.android.material:material:1.3.0'
    
    
        // Add Ground SDK dependencies
        implementation 'com.parrot.drone.groundsdk:groundsdk:1.8.0'
        runtimeOnly 'com.parrot.drone.groundsdk:arsdkengine:1.8.0'
    
    
    }
    

三、运行程序

  • 此时我们编译运行代码已经不会出错了,也可以正常安装到模拟器上,但是在运行时会出现’groundsdk demo keeps stopping’的问题,是因为模拟器的系统没有选择正确。
  • 打开AVDManager
    在这里插入图片描述
  • 随便选择一个设备,之后选择系统
    在这里插入图片描述
  • 打开模拟器,如果出现以下问题,打开终端,输入 sudo chown XXX -R /dev/kvm(XXX是当前登录用户的用户名)
    在这里插入图片描述
  • File ----> Sync Project With Gradle Files
  • 运行程序!
    在这里插入图片描述
  • 程序运行结果如下:
  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-01-24 11:01:03  更:2022-01-24 11:03:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 12:28:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码