从零开始,手把手教你使用Android studio

前言

Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA. 类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调试。

目前网上也有很多关于Android studio安装的教程,不过总还是会出现各种各样的问题,所以我自己又总结了一篇文章,从安装、设置、创建项目、配置svn 到上传服务器,基本涵盖各类问题,比较全面细致,希望能够帮助到有需要的人。

1.android studio的安装和配置

先从Android Studio 中文社区-安卓开发者工具集:Android SDK/JDK/ADT/Gradle/App-3.0正式版下载/安装/教程/外包/招聘/安卓游戏下载/安卓软件下载 网站上下载最新的开发工具,我现在的版本是2.3.3版本。

AS启动前,打开安装目录,请先将bin目录的idea.properties文件中增加一行:disable.android.first.run=true就行了,避免第一次打开AS时自动重新下载SDK。mac平台的右键安装包->Show Package Contents 就找到bin目录了。

第一次打开Android Studio时,需要配置JDK和SDK

倘若是win10系统开发的小伙伴 配置jdk的时候要注意:

path变量,要用jdk的绝对路径,而不能用%JAVA_HOME%这一类的,计算机识别不了。

path= C:\ProgramFiles\Java\jdk1.7.0_67\bin;C:\Program Files\Java\jdk1.7.0_67\bin\jre\bin;

在path环境变量的最前端加上你自己的jdk的这两个目录就好了。一定要是绝对路径!

上图中,选择“Project Structure”,弹出如下界面:(选择JDK和Android SDK的路径)

当然,以后我们在使用Android Studio 的时候,也可以随时修改JDK和Android SDK的路径。选择「File-->Other Settings-->Default Sructure」,即可进行同样的修改。

2.android studio的基本配置

之前我转载过一篇文章,非常适合新手的一篇文章,非常详细全面。推荐给大家,建议新手一定要看看这篇文章

地址在这里一定要看看

3. 然后开始新建项目或者导入eclipse 中的项目

你新建一个项目后会出现第一个问题 界面一直卡在那里不动,是因为在配置gradle或者更新sdk,这个很耗时,有的甚至几个小时都会卡在那里,如下图

出现上面的情况需要做以下几件事:

  • 在Android Studio安装目录下的 bin 目录下,找到 idea.properties 文件,在文件最后追加disable.android.first.run=true 。

  • 配置gradle
    下载gradle gradle3.3
    下载完成后将该文件解压到对应的gradle目录下:
    win 用户解压到C:/user/{username}/.gradle/wrapper/dists
    mac 用户解压到~/.gradle/wrapper/dists 目录下 可以采取命令
    cd ~
    cd ~/.gradle/wrapper
    open dists
    完全退出studio, 重新打开进入你的工程,修改文件gradle-wrapper.properties文件修改distributionUrl=https://services.gradle.org/distributions/gradle-2.14.1-all.zip'distributionUrl=https://services.gradle.org/distributions/gradle-3.3-all.zip

4.gradle配置,离线下载

上面的都搞定后 ,工具应该可以正常使用了,然后开开心心的去运行项目,发现控制台报这个错误Error:Failed to open zip file.

Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)
Re-download dependencies and sync project (requires network)

这个同样也是gradle的问题,倘若上面的gradle配置好了应该就不会有这个错误,如果有的话检查一下 build.gradle里面的版本对不对

5.so文件加载问题

我们将eclipse里面的项目导入进来之后 会发现很多问题,比如导入三方sdk时都有so文件,但是lib包下面已经将so库都放进去了

原因就是android studio加载so库和 eclipse 有不同 具体参考这篇文章:

android studio加载so库

6.引入其他包问题 比如apache

我们如果是引入的eclipse项目会发现 很多原来的库引用找不到了,比如apache相关的

我们需要在build.gradle文件加入如下配置

android {
    useLibrary 'org.apache.http.legacy'
}

7. android studio配置svn

上面的问题都解决后,我们的项目应该都可以正常运行了,然后我们下一步要开始配置svn将项目上传到 服务器,当然其他的版本管理工具 如git更强大,但是今天我这里只说svn....

svn基本配置:

在 vcs下面有会一个VCS-->Import Into Version Control->Share Project

但是这里面特别说明一下 ,新版本的android studio ,会发现只有Import Into Subversion选项,并没有Share Project

这不坑爹吗? 解决方法:用力戳这里 有惊喜

好搞定后我们开始配置svn吧,配置方法:这里 这里 这里 快点点击

按照这里面的操作配置,基本就ok了。

但是仍然可能会报出这个错误:

Cannot run program "svn" (in directory "D:\workspace_as\MobileXX"): CreateProcess error=2, 系统找不到指定

原因是本地没有SVN的命令行工具,则导致出错。cmd下执行svn找不到命令。

1、装svn客户端的时候选择安装svn命令行command line这个选项。

2、如图所示,取消选择这3项也可以

这样就不会报错了 可以参考上面的文档正常配置svn了。

8.打包发布签名版apk

这个和eclipse配置情况差不多,将该填写的都写上就可以了。

只不过这里面需要注意几个错误:

1).Error:Execution failed for task ':app:transformClassesWithJarMergingForRelease'.

com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: android/support/v4/view/LayoutInflaterFactory.class

这个错误就是 依赖的jar包有冲突,导致编译出现这种错误,解决方法就是删掉重复的jar包 比如v4或者v7 保留一个就好。

2)Unable to instantiate application com.jky.xjht.app.XjhtApplication: java.lang.ClassNotFoundException

这个原因就是gradle编译版本问题,解决方案在这里面 点点点

3)Error:Execution failed for task ':app:packageDebug'.> !zip.isFile()

解决方案:Build -> Clean Project

9. android studio的插件介绍

apk打包成功后,我们调整下心情,给大家介绍几个插件,之前我写的博客里面有单独介绍这几款插件的 现在统一汇总到这篇文章里面

一个是Gson format--- 自动生成 java bean 的插件

一个是sexy editory---- 设置as背景的插件

一个是ButterKnifeZelezny---自动生成findViewById控件方法

具体看两篇博客的介绍就可以了

其实as里面还有很多比较有用的插件

SekectorChapek 自动生成selector的插件

butterknife 从布局中生成viw的控件

转了一篇比较全的插件文章 点击这里 看插件大全

最后给大家奉上我的android studio 美女图:

为了效果,透明度调了一下,真正开发的时候别整这么清楚,代码容易出bug...

由于时间关系,今天就先写到这里,希望可以帮助到大家!

作者:再见孙悟空__
链接:https://juejin.cn/post/7106671938403041287

你可能感兴趣的:(从零开始,手把手教你使用Android studio)