在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Android/ Android Studio 和 Gradle
多分辨率適配常用目錄
Android 開發(fā)環(huán)境(Eclipse+ADT+Android 5.0)
Android 原型設(shè)計(jì)工具探索
Makefile 快速入門
Android Studio的NDK開發(fā)
人臉檢測(cè)-靜態(tài)
getprop 與 dumpsys 命令
Maven 編譯開源二維碼掃描項(xiàng)目 zxing
畫布 Canvas
組合控件
Linux 下的模擬器硬件加速
讀取 Excel
android.hardware.camera2 使用指南
橫豎屏切換
Ubuntu 下切換 JDK 版本
拍照和錄像 with Camera
文本與布局
按鈕控制 ViewPager 的左右翻頁(yè)
用 TableLayout 偽裝表格顯示數(shù)據(jù)
Preference Activity 使用詳解
模擬器如何重啟?試試 Genymotion!
獲得屏幕物理尺寸、密度及分辨率
語(yǔ)音識(shí)別
了解 native activity
Android Studio 導(dǎo)入第三方類庫(kù)、jar 包和 so 庫(kù)
啟動(dòng)另一個(gè) App/apk 中的 Activity
APK 簽名
兩個(gè)開源的圖表/報(bào)表控件
android studio 導(dǎo)出 jar 包(Module)并獲得手機(jī)信息
圖片的 Base64 編解碼
混淆與反編譯
Android Studio 和 Gradle
Android 5.1 SDK 下載與配置
persistableMode 與 Activity 的持久化
adb 取出安裝在手機(jī)中的 apk
Android Studio 中的源代碼管理
Handler 使用中可能引發(fā)的內(nèi)存泄漏

Android Studio 和 Gradle

經(jīng)過(guò)兩個(gè)多月的 AS 體驗(yàn),我認(rèn)為是時(shí)候?qū)?Android 的開發(fā)環(huán)境遷移到 AS 上了。目前最新版本是1.0.2(大年30當(dāng)天升級(jí)到1.1.0),除了 UI 控件拖拽偶爾崩潰的問(wèn)題(Ubuntu),其他功能用來(lái)還是十分流暢和高效。打動(dòng)我的有如下幾個(gè)特色:

智能感知體驗(yàn)特好,堪比 VS

  • 布局預(yù)覽,手寫布局后預(yù)覽頁(yè)面即時(shí)顯示,便于布局調(diào)整和優(yōu)化

  • 編輯速度飛快流暢,毫無(wú) eclipse 的卡頓

  • 布局或源碼中有圖標(biāo)和顏色的預(yù)覽,十分直觀

  • 調(diào)試時(shí)體驗(yàn)極佳

  • 集成了Terminal,喜歡命令行操作的伙伴不用額外啟動(dòng)終端了。

總之一句話,就是用起來(lái)特別爽!

Android Studio 源于 IntelliJ IDEA 的社區(qū)版,構(gòu)建工具是 Gradle 這個(gè)下一代的構(gòu)建工具,再加上 Google 為 Android 定制的一些工具,那么 AS 必然會(huì)成為 Android 開發(fā)工具的經(jīng)典款。

Android Studio 的安裝

Adnroid 官網(wǎng)上不去,我們可以到其他網(wǎng)站下載 AS,然后再升級(jí)到1.0.2。

AS 對(duì)系統(tǒng)的要求不低,不過(guò)我這 i7處理器+8 G 內(nèi)存還是毫無(wú)壓力啊。

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 下了。解壓后內(nèi)容如下:

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

值得一說(shuō)的是,gradle 就在這里,一會(huì)兒我們可以直接用 gradle 去做簡(jiǎn)單的編譯工作。首先,我們要執(zhí)行 bin 下的 studio.sh 啟動(dòng) AS,就像 Install-Linux-tar.txt 中說(shuō)的,我們可以將這個(gè) bin 目錄放到系統(tǒng)變量中,以后啟動(dòng) AS 只需輸入 studio.sh 即可。比如我在 .bashrc 中添加如下內(nèi)容:

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

首次啟動(dòng)會(huì)檢測(cè) sdk 并升級(jí)到最新,如果不用代理,這一步我們無(wú)法通過(guò),AS 就不會(huì)啟動(dòng)成功。解決辦法就是將自己的 Adnroid SDK Manager 配好代理到國(guó)內(nèi)的鏡像,請(qǐng)參照《Android 實(shí)戰(zhàn)技巧之九:最新 Android 開發(fā)環(huán)境(Eclipse+ADT+Android 5.0)》 ,順利通過(guò)升級(jí)后,AS 會(huì)成功啟動(dòng)。后面的事情就簡(jiǎn)單了,界面清晰明了,就像你用其他 IDE 一樣,上手很快。但是項(xiàng)目結(jié)果變化很大(與 Eclipse 相比),快捷鍵變化也很大,都要適應(yīng)一段時(shí)間。下載一份 Keymap 打印出來(lái),用到了就看看,會(huì)很快進(jìn)入狀態(tài)。

Tips:

打開項(xiàng)目后修改 sdk 和 jdk 路徑,設(shè)置如下:File –>Other Settings –>Default project Structure

如果你喜歡黑色風(fēng)格的主題,那么切換到吸血鬼 Darcula 主題是個(gè)不錯(cuò)的選擇:File–>Settings–>Appearance–>Theme

Gradle

項(xiàng)目中有兩個(gè) build.gradle 文件,如下:

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

項(xiàng)目根目錄下的 build.gradle 只做了比較 commen 的配置,app 下的 build.gradle 是針對(duì)此 app 更細(xì)致的配置:

    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)時(shí),右下角 Gradle Console 就會(huì)打印如下信息:

    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:compileDebugSources

    BUILD SUCCESSFUL

    Total time: 10.23 secs

先放下 AS 中的 Gradle,我們先從 Gradle 命令行說(shuō)起。剛剛提到 AS 中自帶的 Gradle 路徑在 android-studio3/gradle/gradle-2.2.1/bin 下,將其加入到環(huán)境變量(如上),這樣在如何位置都可以使用 gradle 工具了。下面來(lái)作一下 gradle 最簡(jiǎn)單的使用:

    $ gradle -v

    ------------------------------------------------------------
    Gradle 2.2.1
    ------------------------------------------------------------

    Build time:   2014-11-24 09:45:35 UTC
    Build number: none
    Revision: 6fcb59c06f43a4e6b1bcb401f7686a8601a1fb4a

    Groovy:   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 是正常工作了,下面來(lái)個(gè) hello world 吧。新建一個(gè) build.gradle 文件,加入如下代碼:

    task helloworld << {
            println 'hello world'
    }

這個(gè) task 只輸出一條 log,執(zhí)行如下命令:

    $ gradle -q helloworld
    hello world

參數(shù) -q 只是打印 log,這個(gè) task 也就是此功能而已。 在此目錄下執(zhí)行 gradle –gui,調(diào)出圖形界面的 gradle,看看 helloworld 的其他信息。

編譯 Java 程序

現(xiàn)在嘗試編譯一個(gè)最簡(jiǎn)單的 Java 程序,在剛剛的目錄下新建目錄和文件如下:

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

代碼內(nèi)如如下:

    package com.linc;

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

build.gradle 文件與 src 目錄平級(jí),內(nèi)如只有一行:

    apply plugin: 'java'

此時(shí)運(yùn)行 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
    :build

    BUILD SUCCESSFUL

    Total time: 2.206 secs

此時(shí)的目錄結(jié)構(gòu)變?yōu)槿缦滤荆?/p>

    $ 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

運(yùn)行編譯好的 Java 程序:

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

Gradle 的初體驗(yàn)就到這里,更復(fù)雜的構(gòu)建任務(wù)還在后頭。有了 AS 這個(gè)強(qiáng)大的工具,Android 開發(fā)會(huì)變得越來(lái)越有樂(lè)趣!

參考:

http://www.gradle.org/documentation

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