2019独角兽企业重金招聘Python工程师标准>>>

经过两个多月的AS体验,我认为是时候将Android的开发环境迁移到AS上了。目前最新版本是1.0.2(大年30当天升级到1.1.0),除了UI控件拖拽偶尔崩溃的问题(Ubuntu),其他功能用来还是十分流畅和高效。打动我的有如下几个特色:

  • 智能感知体验特好,堪比VS
  • 布局预览,手写布局后预览页面即时显示,便于布局调整和优化
  • 编辑速度飞快流畅,毫无eclipse的卡顿
  • 布局或源码中有图标和颜色的预览,十分直观
  • 调试时体验极佳
  • 集成了Terminal,喜欢命令行操作的伙伴不用额外启动终端了。

总之一句话,就是用起来特别爽!


Android Studio 源于IntelliJ IDEA的社区版,构建工具是Gradle这个下一代的构建工具,再加上Google为Android定制的一些工具,那么AS必然会成为Android开发工具的经典款。

Android Studio的安装

Adnroid官网上不去,我们可以到其他网站下载AS,然后再升级到1.0.2。
AS对系统的要求不低,不过我这i7处理器+8G内存还是毫无压力啊。

Windows

Microsoft® Windows® 8/7/Vista/2003 (32 or 64-bit)
2 GB RAM minimum, 4 GB RAM recommended
400 MB hard disk space
At least 1 GB for Android SDK, emulator system images, and caches
1280 x 800 minimum screen resolution
Java Development Kit (JDK) 7
Optional for accelerated emulator: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality

Mac OS X

Mac® OS X® 10.8.5 or higher, up to 10.9 (Mavericks)
2 GB RAM minimum, 4 GB RAM recommended
400 MB hard disk space
At least 1 GB for Android SDK, emulator system images, and caches
1280 x 800 minimum screen resolution
Java Runtime Environment (JRE) 6
Java Development Kit (JDK) 7
Optional for accelerated emulator: Intel® processor with support for Intel® VT-x, Intel® EM64T (Intel® 64), and Execute Disable (XD) Bit functionality

On Mac OS, run Android Studio with Java Runtime Environment (JRE) 6 for optimized font rendering. You can then configure your project to use Java Development Kit (JDK) 6 or JDK 7.
Linux

GNOME or KDE desktop
GNU C Library (glibc) 2.11 or later
2 GB RAM minimum, 4 GB RAM recommended
400 MB hard disk space
At least 1 GB for Android SDK, emulator system images, and caches
1280 x 800 minimum screen resolution
Oracle® Java Development Kit (JDK) 7

下载后将其解压到你指定的路径。我在Ubuntu下工作,就直接将其放到/opt下了。解压后内容如下:

android-studio3$ ls
bin  build.txt  gradle  Install-Linux-tar.txt  lib  license  LICENSE.txt  NOTICE.txt  plugins

值得一说的是,gradle就在这里,一会儿我们可以直接用gradle去做简单的编译工作。首先,我们要执行bin下的studio.sh启动AS,就像Install-Linux-tar.txt中说的,我们可以将这个bin目录放到系统变量中,以后启动AS只需输入studio.sh即可。比如我在.bashrc中添加如下内容:

export PATH="$PATH:/opt/android-studio3/bin"
export PATH="$PATH:/opt/android-studio3/gradle/gradle-2.2.1/bin"

首次启动会检测sdk并升级到最新,如果不用代理,这一步我们无法通过,AS就不会启动成功。解决办法就是将自己的Adnroid SDK Manager配好代理到国内的镜像,请参照《Android实战技巧之九:最新Android开发环境(Eclipse+ADT+Android 5.0) 》,顺利通过升级后,AS会成功启动。后面的事情就简单了,界面清晰明了,就像你用其他IDE一样,上手很快。但是项目结果变化很大(与Eclipse相比),快捷键变化也很大,都要适应一段时间。下载一份Keymap打印出来,用到了就看看,会很快进入状态。

Tips:
打开项目后修改sdk和jdk路径,设置如下:File –>Other Settings –>Default project Structure
如果你喜欢黑色风格的主题,那么切换到吸血鬼Darcula主题是个不错的选择:File–>Settings–>Appearance–>Theme


Gradle

项目中有两个build.gradle文件,如下:

$ find -name build.gradle
./app/build.gradle
./build.gradle

项目根目录下的build.gradle只做了比较commen的配置,app下的build.gradle是针对此app更细致的配置:

apply plugin: 'com.android.application'android {compileSdkVersion 21buildToolsVersion "21.1.2"defaultConfig {applicationId "com.linc.arrowfall"minSdkVersion 17targetSdkVersion 21versionCode 1versionName "1.0"}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
}dependencies {compile fileTree(dir: 'libs', include: ['*.jar'])compile 'com.android.support:appcompat-v7:21.0.3'
}

Make Project(Ctrl+F9)时,右下角Gradle Console就会打印如下信息:

Executing tasks: [:app:compileDebugSources]Configuration on demand is an incubating feature.
:app:preBuild
:app:preDebugBuild
:app:checkDebugManifest
:app:preReleaseBuild
:app:prepareComAndroidSupportAppcompatV72103Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42103Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:compileDebugJava
:app:compileDebugNdk
:app:compileDebugSourcesBUILD SUCCESSFULTotal time: 10.23 secs

先放下AS中的Gradle,我们先从Gradle命令行说起。刚刚提到AS中自带的Gradle路径在android-studio3/gradle/gradle-2.2.1/bin下,将其加入到环境变量(如上),这样在如何位置都可以使用gradle工具了。下面来作一下gradle最简单的使用:

$ gradle -v------------------------------------------------------------ Gradle 2.2.1 ------------------------------------------------------------Build time:   2014-11-24 09:45:35 UTC
Build number: none
Revision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4aGroovy:       2.3.6
Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013
JVM:          1.7.0_71 (Oracle Corporation 24.71-b01) OS: Linux 3.13.0-45-generic amd64

gradle是正常工作了,下面来个hello world吧。新建一个build.gradle文件,加入如下代码:

task helloworld << {println 'hello world'
}

这个task只输出一条log,执行如下命令:

$ gradle -q helloworld
hello world

参数-q只是打印log,这个task也就是此功能而已。
在此目录下执行gradle –gui,调出图形界面的gradle,看看helloworld的其他信息。

编译Java程序
现在尝试编译一个最简单的Java程序,在刚刚的目录下新建目录和文件如下:

$ mkdir -p src/main/java/com/linc; vim src/main/java/com/linc/HelloWorld.java

代码内如如下:

package com.linc;public class HelloWorld {public static void main(String args[]) {System.out.println("hello, world");}
}

build.gradle文件与src目录平级,内如只有一行:

apply plugin: 'java'

此时运行gradle build:

$ gradle build
:compileJava
:processResources UP-TO-DATE
:classes
:jar
:assemble
:compileTestJava UP-TO-DATE
:processTestResources UP-TO-DATE
:testClasses UP-TO-DATE
:test UP-TO-DATE
:check UP-TO-DATE
:buildBUILD SUCCESSFULTotal time: 2.206 secs

此时的目录结构变为如下所示:

$ tree -L 6
.
├── build
│   ├── classes
│   │   └── main
│   │       └── com
│   │           └── linc
│   │               └── HelloWorld.class
│   ├── dependency-cache
│   ├── libs
│   │   └── helloworld.jar
│   └── tmp
│       ├── compileJava
│       └── jar
│           └── MANIFEST.MF
├── HelloWorld.java
└── src└── main└── java└── com└── linc└── HelloWorld.java

运行编译好的java程序:

$ java -cp build/classes/main/ com.linc.HelloWorld
hello, world

Gradle的初体验就到这里,更复杂的构建任务还在后头。有了AS这个强大的工具,Android开发会变得越来越有乐趣!


参考:

http://www.gradle.org/documentation
http://www.android-studio.org/index.php/88-download/

转载于:https://my.oschina.net/yolinfeng/blog/466522

Android实战技巧之十一:Android Studio和Gradle相关推荐

  1. Android实战技巧:深入解析AsyncTask

    AsyncTask的介绍及基本使用方法 关于AsyncTask的介绍和基本使用方法可以参考官方文档和Android实战技巧:多线程AsyncTask这里就不重复. AsyncTask引发的一个问题 上 ...

  2. Android实战技巧之六:PreferenceActivity使用详解

    一.写作前面 当我们做应用的时候,需要用户配置一些信息,而这就是通常所说的应用设置. 对于Android系统来说,系统本身的设置带来的用户体验和习惯已经深入人心,在我们的应用中同样用到类似的设置页, ...

  3. Android实战技巧:ViewStub的应用

    在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局.那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在 ...

  4. Android实战技巧之十八:adb取出安装在手机中的apk

    场景: 朋友看见你Android手机中的游戏或应用很好玩,也想装一个此程序,但限于网络条件不能从网上下载.那么最简单的办法就是直接从你手机中将此apk扣出来给他安装上. pm命令 第一步,找到程序的包 ...

  5. Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库

    第三方类库源码 将一网友的XMPP代码从ADT转到AS时,发现其使用了第三方类库,源码放在了lib下,直接在AS中Import project,第三方类库并没有自动导入进来,看来需要自己动手了. 项目 ...

  6. android studio导入jar包和so库,Android实战技巧之十二:Android Studio导入第三方类库、jar包和so库(示例代码)...

    第三方类库源码 将一网友的XMPP代码从ADT转到AS时,发现其使用了第三方类库,源码放在了lib下,直接在AS中Import project,第三方类库并没有自动导入进来,看来需要自己动手了. 项目 ...

  7. Android实战技巧之八:Ubuntu下切换JDK版本

    Android L之后推荐使用JDK7编译程序,这是自然发展规律,就像是4年前编译Android 1.6需要使用JDK5一样. 多版本JDK是可以共存的,只需要使用update-alternative ...

  8. Android实战技巧之三十七:图片的Base64编解码

    通经常使用Base64这样的编解码方式将二进制数据转换成可见的字符串格式,就是我们常说的大串.10块钱一串的那种,^_^. Android的android.util包下直接提供了一个功能十分完备的Ba ...

  9. android 速度传感器,Android实战技巧之四十二:加速度传感器

    传感器字面上的意思就是传递感觉的仪器,哪些感觉呢? 视觉.听觉.味觉.触觉.嗅觉等等. 所以有人说,传感器的存在和发展,让物体有了触觉.味觉和嗅觉等感官,让物体慢慢变得活了起来. 当前Android设 ...

最新文章

  1. 滴滴开源AI项目登上GitHub热榜,人机对话模型可从论文到产品部署无缝衔接
  2. 逻辑分析推理(戴帽子问题)博弈
  3. this 的4种绑定机制
  4. oracle数据库主键自增序列_【oracle】oracle数据库建立序列、使用序列实现主键自增...
  5. 九度OnlineJudge之1001:A+B for Matrices
  6. 试验笔记 - 使用7-ZIP压缩来减小APK安装包体积
  7. 如何利用即时通讯工具进行营销
  8. 【柒】企业分析利器——强大企业模型
  9. 【洛谷】P1008 [NOIP1998 普及组] 三连击
  10. 动手学习深度学习-跟李沐学AI-自学笔记(1)
  11. 状态空间方程转换传递函数
  12. android 2k 屏幕 字体模糊,显示字体小到有些模糊?高分屏别忘了这些设置
  13. 5V5联机对战游戏源码
  14. 【历史上的今天】3 月 28 日:EPROM 的发明者出生;计算机进入艾滋病研究领域
  15. html 表格自动编号,Word中如何给表格设置自动编号
  16. 7-1 重要的话说三遍
  17. PCB电路板为什么大多是绿色的?
  18. 小明放学(30分)求大佬帮忙看看哪里有问题
  19. 如何引入百度地图和获取精准获取经纬度坐标
  20. 在Mac的终端上使用命令行 cd pwd

热门文章

  1. 赛道公布之后,让我们一起DISS组委会
  2. 2021年春季学期-信号与系统-第十五次作业参考答案-第八小题参考答案
  3. 如何配置Keil 外部编辑器?
  4. kubernetes相关概念
  5. java 反射遍历_java使用反射遍历类的字段
  6. python在线编辑器编译excel_python在线编译器的简单原理及简单实现代码
  7. postman显示服务器错误是什么原因,Postman 500内部服务器错误api错误
  8. win10怎么设置开机启动项目_苹果mac开机启动项怎么设置
  9. 小乌龟游泳java_乌龟翻身那么痛苦,它们为什么还没有灭绝?
  10. 浏览器自动调html5,HTML5 浏览器支持