Android實戰技巧之十一:Android Studio和Gradle,androidgradle

來源:互聯網
上載者:User

Android實戰技巧之十一:Android Studio和Gradle,androidgradle

經過兩個多月的AS體驗,我認為是時候將Android的開發環境遷移到AS上了。目前最新版本是1.0.2,除了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 recommended400 MB hard disk spaceAt least 1 GB for Android SDK, emulator system images, and caches1280 x 800 minimum screen resolutionJava Development Kit (JDK) 7Optional 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 recommended400 MB hard disk spaceAt least 1 GB for Android SDK, emulator system images, and caches1280 x 800 minimum screen resolutionJava Runtime Environment (JRE) 6Java Development Kit (JDK) 7Optional 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 desktopGNU C Library (glibc) 2.11 or later2 GB RAM minimum, 4 GB RAM recommended400 MB hard disk spaceAt least 1 GB for Android SDK, emulator system images, and caches1280 x 800 minimum screen resolutionOracle Java Development Kit (JDK) 7

下載後將其解壓到你指定的路徑。我在Ubuntu下工作,就直接將其放到/opt下了。解壓後內容如下:

android-studio3$ lsbin  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 21    buildToolsVersion "21.1.2"    defaultConfig {        applicationId "com.linc.arrowfall"        minSdkVersion 17        targetSdkVersion 21        versionCode 1        versionName "1.0"    }    buildTypes {        release {            minifyEnabled false            proguardFiles 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 UTCBuild number: noneRevision:     6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4aGroovy:       2.3.6Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013JVM:          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 helloworldhello 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.HelloWorldhello, world

Gradle的初體驗就到這裡,更複雜的構建任務還在後頭。有了AS這個強大的工具,Android開發會變得越來越有樂趣!

參考:

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.