前言

导入 API Demos 是每一个加入“趣编程”的 Android 学员要做的第一件事情。那 API Demos 是什么呢?

API Demos 是 Google 为了 Android 开发者所提供的一个 Android API 合集,其中包含了很多的 API 范例,同时遵循了良好的代码规范,是一个值得开发者研究和学习的典型。

但是,对于刚刚接触 Android 开发的人来说,导入 API Demos 可是一个让人头疼的活。因为版本的不断升级,曾经的各种办法都已经随着时间失效了,所以就有了这篇指南来指导大家一步一步的导入 API Demos。

本文使用的 Android Studio 版本:2.1.2

导入过程

下载 API Demos

经过版本升级,发现现在已经无法通过 SDK Manager 直接下载和配置 API Demos 了。

所以就需要通过自己手动下载,这里提供百度网盘的下载链接,如果失效可以去http://www.androiddevtools.cn/找 SDK Samples 列表,或者通过留言通知我,我发现后会尽快更新。

上面是我能搜集到的所有版本。初学者不需要下载所有版本的 API Demos ,只需要下载一个用于学习就可以啦。

导入到 Android Studio

首先解压下载文件。然后打开 Android Studio。

1.在菜单栏中选择 File — New — Import Project…

导入菜单

2.在弹出的 Select 窗口中,找到自己刚刚解压的文件夹。 API 18版本之前的,可以直接看到 ApiDemos 这个文件夹。 API 18版本后的在其中找到 legacy 文件夹,其中就可以看到 ApiDemos 这个项目啦。

导入

3.找到 ApiDemos 文件夹后,点击界面上的 OK 。就会弹出来如下对话框。

导入

此时只需要选择 NEXT 。会出现如下界面,按照默认选项,点击 FINISH 。就完成了导入过程。

提示

常见问题修复

有人可能会奇怪,不都已经导入完成了么,为什么还不能运行。那是因为手动下载下来的 API Demos 是存在一些小问题的。这些小问题每个人都会遇到,所以不需要小题大做,觉得自己下载错了或者自己电脑出了什么问题。只要继续按照文章解决下去就好啦。

  • Error:Error: The file name must end with .xml

缺少.xml

该错误是因为文件没有以 .xml 结尾。我们双击这个错误提示,就会跳转到这个错误出现的地方,这时候右键点击文件名字,选择 Rename File…

重命名

在弹出的窗口中给文件添加上后缀 .xml,点击 Refactor 就可以啦。

添加后缀

此时 Android Studio 的错误提示窗口可能还存在,这时候点击菜单栏中的 Build — Rebuild Project

Rebuild

错误提示就会消失了。

  • Error:(23, 32) 错误: 程序包 android.support.v4.print 不存在

缺少依赖

这个错误会出现在 API 19 以后的 API Demos 中,是因为没有 v4 依赖包。
首先右击左侧项目管理器,点击 Open Module Settings 选项,或者直接按 F4 。

添加依赖

在弹出的窗口中,选择 Dependencies 选项卡。

添加依赖

点击右面的加号,选择 Library dependency 。

添加依赖

在弹出的窗口中选择 support-v4 。点击 OK。返回到刚才的窗口,再点击 OK 。这个问题就解决啦。
添加依赖

  • Manifest merger failed : uses-sdk:minSdkVersion 1 cannot be smaller than version 4 declared in library

节点报错

这个报错的原因是是在 gradle 在构建项目的时候,没有自动生成 minSdkVersion 节点,所以默认的 minSdkVersion 就为了1了,但是v4包只能在 api 版本9及以上才可以用,在 gradle 的配置文件加上 minSdkVersion 节点并且为9以上就可以了。

在项目管理器中,展开 Gradle Scripts ,打开 build.gradle 下图中左侧红色框选的文件。在其中的 defaultConfig 节点下,添加结点 minSdkVersion 9 ,如图所示。

QQ图片20161007185121

添加完后,报错信息不会立刻消失,这时需要按照上文中提到的 Rebuild 方法,对项目进行 Rebuild Project 操作。

  • 错误:程序包 com.google.android.mms 不存在

mms报错

这个问题是因为 MmsMessagingDemo 用到 Mms 包下东西,但是系统的 @hide 的 api ,根本没办法导入,解决办法就是编译一份 mms 包的源码,把 @hide 给开放了就好了,如果不需要这部分的演示,我建议把这部分出错代码直接注释掉。

双击错误提示跳到出错的文件,然后全选所有内容,使用快捷键 Ctrl+/ 就可以注释掉所有内容。根据我的实验,这类错误是出现在图上演示的 MmsMessagingDemo.java 和 MmsWapPushReceiver.java 这两个文件上的。直接全文注释就好。

注释

以上就是使用 Android Studio 导入 API Demos 会出现的所有问题。

解决完上面的所有问题,

运行 API Demos

这部分就非常简单啦,运行方式也多种多样,这里说一个典型的。

首先点击如图所示中的绿色箭头。

运行按钮

在弹出来的窗口中选择想要运行的设备,然后点击运行。

运行

编译结束后,运行效果就是这样啦。

运行效果

结语

导入程序,是程序员需要掌握的一个基础技能,而导入中会遇到各种各样的问题,这其实是导入程序的常态。并不是程序存在问题,而是从一个环境到另一个环境的时候,中间会经历很多过程,出现错误在所难免。这时候需要人必须耐心,细心。作为一个初学者,这尤为重要。

曾经导入 API Demos ,只需要在 Android Studio 的 SDK Manager 中,勾选上 Sample For SDK ,然后就配置好了,在点击导入,一路非常简单。但是不知道为什么,在新版本的 Android Studio 中,没了这个选项,我排除了国内国外网络差异,肯定了在新版本中就是移除了 API Demos 。而且截止现在 API Leave 是 24 ,但是我只能找到 API 23 的 Sample For SDK。 新版本根本没了 API Demos 。

我认为根本原因是 Android Studio 2.0 推出之后。界面上出现了新的功能
Import an Android code sample。

开始界面
导入

这个列表上可以找到一些 API Demos 中的影子,但还是代替不了 API Demos 中对大量 API 的学习。当然这是一个猜测。国外论坛上,也有人问为什么找不到 API Demos ,但是没有人给出回答。所以至今也没有找到移除的原因。如果有人知道,请留言告诉我。

不过这不影响我们使用 API Demos 来研究和学习,而且我找到了 Google 在 GitHub 上的开源代码,仍然保留着 API Demos 。

https://github.com/android/platform_development/tree/master/samples/ApiDemos

有兴趣的同学可以尝试从 GitHub 上导入。

如果发现本文有问题,或者有疑惑,可以在本文下留言,我会尽快更新。

Comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注