Android开发Android开发Android技术知识

良心解析 | 搭建NDK环境问题记录暨Android Studi

2019-01-19  本文已影响99人  凌川江雪

前言(历程概况)


(前言部分有点日记性质,对整个历程做了一个概况,如果你时间紧迫,可以跳过这部分直接看正文部分正文部分分点分部分给出问题的描述和对应的解决方法)

去年差不多也是这个时候,补了TensorFlow的坑,今年补AS的,莫名倒是有点喜感。

话说前头,这里强调一下,本文所有下载加载过程都是没有使用VPN的,也就是说不用科学上网,但!!!需要优质的网络,优质的网络!!就是,昨天之前的话本文这些坑笔者怕是要费好大力气才搞的定,因为昨天在学校,要么用校园网——绝对填不了这些坑,点击AS的help菜单里面的check for updates以及SDK Manager的安装检测都被和谐掉了;要么用流量或者,找一个不是校园网的网络。。。在学校这显然也挺折腾的

废话不多说,解释一下标题,好多坑对吧,其实本文所有坑的起因,就是我寒假要开始了解NDK开发了,NDK开发之前我们需要搭一个环境,

在搭环境的时候,需要更新各种SDK各种tools,于是便到SDK Manager那边更新了一波SDK Platform 或SDK Tools (SDK和NDK等等包都更新到最新版),更新完之后,便开始出现各种错误了,


总的来说,本文解决了三个方面的坑:

具体目录:

  1. 解决问题:运行程序时候,IDE一直停留在 "Waiting for target device to come online"
  2. 升级Android Studio!
  3. 最后通过AVD Manager解决“初代模拟器”问题
  4. 接下来解决AS更新后遗留的普适问题
  5. 解决No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel64el-linux-android

本文参考文章汇总




正文


1. 解决问题:运行程序时候,IDE一直停留在 "Waiting for target device to come online"


2. 升级Android Studio!


3. 最后通过AVD Manager解决“初代模拟器”问题

进入AVD Manager(截图中API 24 的那个模拟器已经看不到了,因为被笔者删了...):

Download一下新的API:



然后Next,Finish即可:

4. 接下来解决AS更新后遗留的普适问题

发现它完全不买账对吧,AS2.3.3的产物根本就不想理你AS3.3的IDE,app的build.gradle文件都跟刚刚成功运行的Helloworld项目一模一样,可复制到了旧项目就是不行;

allprojects {
    repositories {
        jcenter()
        google()
        mavenCentral()
    }
}

5. 解决No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel64el-linux-android

首先, 关于参考文章:No toolchains found in the NDK toolchains folder for ABI with prefix: mipsel64el-linux-android
这篇文章的参考价值是它给了我NDK的下载地址,然而它的解决方法并不太适合笔者的情况。
文中说明这情况报错的原因是NDK包缺失。参考这篇文章, 到官网上下载对应的包,切取缺失的文件到本地ndk目录即可。这里官网是需要科学上网的,所以其实它适合的情况是你AS原来的NDK包是你自己去网上找来下载的,由此缺失时,可以用这种方法。
但其实我们到SDK Manager这里,只要网络质量好一些,是可以直接下载的,不用科学上网;

所以笔者是因为什么情况报这个错呢?
笔者不是因为包的缺失,我们看报错里面的关键词——No toolchains,再看一下官网对于NDK 19的描述——“不需要独立的工具链”,“Clang会自动找到它们”,看到这里其实可以说是水落石出了;


究其原因,应该就是“不需要独立的工具链”,“Clang会自动找到它们”这个新特性对于AS2.3.3来说,没能Hold住,因此报错,
No toolchains,其实人家r19都不需要toolchains,自然就No toolchains呗,只是AS2.3.3没有Hold住Clang而已。

所以若是基于AS2.3.3把NDK包更新到最新版的r19报这个错,只要升级一下AS到最新版(如笔者AS3.3),便解决了。

上一篇 下一篇

猜你喜欢

热点阅读