Web、移动开发之Android:(1)开发环境搭建

作者:陆金龙    发表时间:2016-07-03 01:14   


1.1、JDK安装 

JDK是Sun公司开发的Java运行和开发环境,现在属于Oracle公司。

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

有时页面进不了,可以先进到orcle官网主页,再找到Java SE的下载页面。

 

JRE(Java Runtime Environment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。

JDK(Java SE Development Kit)是完整的Java软件开发包,包含了JRE,编译器和其他的工具(如:JavaDoc,Java调试器),可以让开发者开发、编译、执行Java应用程序。

 

安装按提示一步一步走,设置环境变量步骤如下:

1. 我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量: 

2. JAVA_HOME值为: C:\Program Files\Java\jdk1.7.0_55(安装JDK的目录) 

3. CLASSPATH值为:.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\bin; 

4. Path:  在开始追加 %JAVA_HOME%\bin; 

安装完成之后,可以在检查JDK是否安装成功。打开cmd窗口,输入java –version 查看JDK的版本信息。出现类似下面的画面表示安装成功了:

1.2、Android SDK Tools安装

Android是谷歌(Google)公司推出的手机开发平台。采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,是一种融入全部Web应用的单一平台。

SDK:(software development kit)软件开发工具包。

Android SDK 指的是Android专属的软件开发工具包。

 

Android SDK采用了Java语言,所以需要先安装JDK。

Android SDK不用安装,下载后,直接解压到适当的位置即可。

Android SDK 包含以下部分:

或者直接通过链接下载:https://dl.google.com/android/repository/sdk-tools-windows-3859397.zip?utm_source=androiddevtools&utm_medium=website,

使用SDK Manager.exe下载sdk。

如果下载sdk时,主要会连接到dl.google.com 和 dl-ssl.google.com两个地址 ,如果不顺利,可以使用国内镜像下载:
1.mirrors.neusoft.edu.cn //东软信息学院
2.ubuntu.buct.edu.cn/ubuntu.buct.cn //北京化工大学
3.mirrors.opencas.cn (mirrors.opencas.org/mirrors.opencas.ac.cn) //中国科学院开源协会
4.sdk.gdgshanghai.com 端口:8000 //上海GDG镜像服务器
5.mirrors.dormforce.net //(栋力无限)电子科技大学  强烈推荐
使用方法:
启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options…」,弹出『Android SDK Manager – Settings』窗口;
在『Android SDK Manager – Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入框内填入 mirrors.neusoft.edu.cn和80,并且选中「Force https://… sources to be fetched using http://…」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager – Settings』窗口返回到主界面;
依次选择「Packages」、「Reload」。

1.3、Eclipse、IDEA、Android Studio安装

开发工具推荐Android Studio,也可使用 Eclipse 、IntelliJ IDEA。

1.3.1 Android Studio

Android Studio3.0运行后,如果没有关联android sdk,会自动下载sdk到C:\Users\kl\AppData\Local\Android\sdk下。因此也可以不提前安装android sdk。

1. 使用或升级Android Studio 3.0

各版本下载:http://www.android-studio.org/index.php/download/hisversion

3.0版下载地址:

https://dl.google.com/dl/android/studio/ide-zips/3.0.1.0/android-studio-ide-171.4443003-windows.zip (免安装)

https://pan.baidu.com/s/1UhbKtennyfEgCGDzfS1DMQ

3.3.2版下载地址:

https://dl.google.com/dl/android/studio/ide-zips/3.3.2.0/android-studio-ide-182.5314842-windows32.zip?utm_source=androiddevtools&utm_medium=website

Android Studio 3.3.2 版本问题:

报错1::Expected caller to ensure valid ABI: MIPS

原因:AndroidStudio的ndk里面缺少文件
解决方案:下载新的ndk并连接到AndroidStudio,然后再次build项目 就可以了

https://dl.google.com/android/repository/android-ndk-r17-windows-x86_64.zip

修改前:

修改后:

 

报错2:ABIs [armeabi, mips] are not supported for platform. Supported ABIs are [armeabi-v7a, arm64-v8a, x86, x86_64].

最新的NDK r17版本,已经去掉了armeabi、mips、mips64的ABI支持。

去掉abiFilters中的armeabi选项

ndk {
            abiFilters 'x86', 'x86_64',  'armeabi-v7a', 'arm64-v8a'
        }

错误3:AAPT2 error: check logs for details.Failed to process resources, see aapt output above for details.

通过将AndroidGradle插件升级到alpha版本来解决这个问题

classpath 'com.android.tools.build:gradle:3.2.0-alpha13'

错误4:Minimum supported Gradle version is 4.6. Current version is 4.4.

项目根目录下的gradle-wrapper.properties文件:

distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip 改成

distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.zip

错误5::Failed to open zip file. Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)

检查发下目录C:\Users\Administrator\.gradle\wrapper\dists下缺少zip文件。原来是从https://services.gradle.org/distributions/上下载没成功,可从http://services.gradle.org/distributions/ 下载zip文件。

错误6: java.lang.NoSuchMethodError:  at org.greenrobot.greendao.gradle.Greendao3GradlePlugin.createGreendaoTask(Greendao3GradlePlugin.kt:72)

  • 配置项目的 build.gradle
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
    }
}

allprojects {
    repositories {
        maven { url "https://jitpack.io" }
    }
}
  • 配置Module的 build.gradle
apply plugin: 'org.greenrobot.greendao'

dependencies {
    compile 'org.greenrobot:greendao:3.2.2'

    compile 'net.zetetic:android-database-sqlcipher:3.5.6' // 使用数据库加密时添加

    compile 'com.github.yuweiguocn:GreenDaoUpgradeHelper:v2.0.1'    // 使用数据库升级辅助GreenDaoUpgradeHelper时添加

}

错误7:apply plugin: 'org.greenrobot.greendao' 报错Failed to resolve: org.jetbrains.kotlin:kotlin-stdlib-jre7:1.3.0

在高版本的kotlin插件module下的gradle.build内的引用需要将下面引用
将这个替换一下
替换成下面这个
在这里插入图片描述

升级3.0 相关问题处理:

1.apk生成路径问题

variant.outputs.each{
    output ->
    def outputFile = output.outputFile
    def fileName = "${applicationId}".replace("com.xxx.", "") + "${versionName}.apk"
    output.outputFileName = new File(outputFile .parent,fileName)

}

改为

variant.outputs.all {
    output ->
    def fileName = "${applicationId}".replace("com.xxx.", "") + "${versionName}.apk"
    output.outputFileName = new File(fileName)
}

2.APPT2 相关报错

在gradle.properties中关闭APPT2 编译

android.enableAapt2=false

3.All flavors must now belong to a named flavor dimension. Learn more at :

定义flavorDimensions,可以定义多个flavorDimensions,至少一个。将其设置到你相应的flavor中。

app.gradle中的defaultConfig节点下加入flavorDimensions "versionCode"这句就好了。

4.最低版本 sdk buildtool 26.0.0问题

 点击所有报错的地方,等待下载完成即可。

5.support:multidex编译报错

-compile 'com.android.support:multidex:1.0.1'改为

-compile 'com.android.support:multidex:1.0.2'

6.使用gradle4.4版本

项目根目录下的gradle文件夹里面的gradle-wrapper.properties文件,distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

7.打开你项目根目录下面的build.gradle文件,添加google()仓库,及插件com.android.tools.build:gradle:3.0.0,如下

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
    }
}

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

 

8. 报错 Could not resolve com.android.tools.build:gradle:3.0.0

No cached version of com.android.tools.build:gradle:3.1.0 available for offline mode.

Could not GET 'https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/3.0.0/gradle-3.0.0.pom'. Received status code 400 from server: Bad Request

开始以为是网络问题,换了网络环境仍旧未解决。经测试,在两个网络环境下的分别用另外的电脑测试是成功的。因此判断是本电脑的环境问题,尝试以下方式解决:

将杀毒软件、安全卫士等软件卸载,关闭防火墙;

将C:\Windows\System32\drivers\etc下的hosts文件的所有代理配置清理;

将C:\Users\kl(我的用户目录是kl)下的.gradle、.android、.Android Studio 3.0、.Android Studio 2.3等所有相关的缓存目录删除;

最后,重新以默认设置运行Android Studio。

2. 安装《阿里巴巴Java开发规约》扫描插件

为了更好的监测Java代码的规范,可以安装阿里巴巴的一个插件。

选择 File - Settings - Plugins - Browse repositories 后,输入alibaba,安装Alibaba Java Coding Guidelines。

界面和右键菜单会多出两个项目,规约扫描和实时监测开关。

扫描代码后,将不符合规约的代码按 Blocker/Critical/Major (崩溃/严重/重要)三个等级显示在下方,前两级别是必须要处理掉。双击可以定位至代码处,右侧窗口还有针对代码的批量修复功能。

1.3.2 Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布;2008年6月发布代号为Ganymede的3.4版;2009年6月发布代号为Galileo的3.5版;2010年6月发布代号为Helios的3.6版;2011年6月发布代号为Indigo的3.7版;2012年6月发布代号为Juno的4.2版;2013年6月发布代号为Kepler的4.3版;2014年6月发布代号为Luna的4.4版;2015年6月项目发布代号为Mars的4.5版。

下载地址:http://www.eclipse.org/downloads/

下载完成后,将压缩包解压,即可使用Eclipse。

ADT安装 

Android Development Tools,这是Android在Eclipse上的开发工具。

使用Eclipse进行android应用开发需要给Eclipse安装ADT插件,这样Eclipse就可以和android sdk建立连接,可以在Eclipse中启动android模拟器进行程序调试等。

离线安装ADT的安装包下载地址:

http://developer.android.com/sdk/installing/installing-adt.html

http://yun.baidu.com/share/link?shareid=237171126&uk=3794660469

离线安装,需要单击“Add Repository”对话框中右侧的“Archive”按钮,选择这个安装包,之后出现如下界面,按提示下一步继续。

 

或者直接在eclipse的Help > Install New Software里面add,地址直接输入

https://dl-ssl.google.com/android/eclipse/

 

设置SDK和AVD菜单显示

1.3.3 IDEA

IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

下载地址:

http://www.jetbrains.com/idea/download/download-thanks.html?platform=windows&code=IIC

按提示一步步安装。安装完成后,设置SDK时提示SDK中没有目标版本,这个问题放在1.4节更新android sdk 处理。

AVD菜单显示设置

先在View中将ToolBar勾上,将工具条调出到界面。即可在下图红框处找到AVD Manager。

1.4、SDK Manager进行更新

最后一步,使用android SDK manager更新sdk包、扩展包和模拟器镜像。

启动SDK Tool Manager 更新部分sdk,但需要使用管理员权限运行,以避免文件夹拒绝写入的问题。

往往会出现拒绝连接或超时连接提示:

Failed to fetch URL https://dl-ssl.google.com/android/repository/...

在Android SDK Manager的Tool->Option作如下设置。

设置好之后,进行SDK的更新,如下:

至此,就可以使用Eclipse或Intelij IDEA进行android开发了

1.5、AVD创建、启动和调试

1.5.1 创建AVD

需要先在sdk tool manager中下载安装相关模拟器的镜像

 

安装步骤如下:

 

 

1.5.2 启动AVD

以上错误提示需安装x86加速器,在Android SDK Manager的Extras中如下标识处下载,下载完成后,到\android-sdk\extras\intel\Hardware_Accelerated_Execution_Manager下需手动安装exe。

然后重新启动模拟器,不再报错了,启动界面和运行测试程序如下。

 

1.5.3 使用AVD调试

Eclipse中使用AVD

使用模拟器进行android程序调试。

Intelij IDEA中使用AVD

用/sdk/tools/lib/devices.xml去替换

system-images\android-23\android-wear\x86\devices.xml和

system-images\android-23\android-wear\armeabi-v7a\devices.xml中的devices.xml 

INSTALL_FAILED_NO_MATCHING_ABIS

是由于使用了native libraries 。该native libraries 不支持当前的cpu的体系结构。

现在安卓模拟器的CPU/ABI一般有三种类型,INTEL X86,ARM,MIPS,

如果选择用INTEL X86出现INSTALL_FAILED_NO_MATCHING_ABIS的错误,那就改用ARM的。

 

其他:HttpClient找不到的问题

在android 6.0(API 23)中,Google已经移除了移除了Apache HttpClient相关的类推荐使用HttpUrlConnection,如果要继续使用需要Apache HttpClient,需要重新引入相关的包。

但是HttpEntity也找不到,从上述目录中加载httpcore-4.1,却又编译报错。

因此将API版本由23改成22,上述两个问题都解决了。