Android Studio最新配置教程2016
http://blog.csdn.net/wen_demo
一、Android studio 基本簡單介紹
1.Android studio和Eclipse的差別:
1、Studio中有Project和Module的概念,Studio中一個窗體僅僅能有一個項目,即Project,代表一個workspace。可是一個Project能夠包括多個Module。比方你項目引用的Android Library, Java Library等,這些都能夠看做是一個Module。
2、文件夾中將java代碼和資源文件(圖片、布局文件等)所有歸結為src。在src文件夾下有一個main的分組。同一時候劃分出
2.gradle構建工具簡單介紹
1、Gradle是一種依賴管理工具。Gradle的核心是一個豐富的可擴展的基於Groovy的領域特定語言(DSL)。Gradle通過提供說明性語言元素將說明性構建推到下一層,您能夠組裝。這些元素也提供build-by-convention支持Java、Groovy、OSGi、Web和Scala項目。
很多其它,這個說明性語言是可擴展的。
加入自己的新語言元素或提高現有的。從而提供簡潔、易於維護和理解構建。
二、Android Studio安裝配置
1.基本安裝
A、安裝Android Studio
安裝過程和一般安裝過程一致,下載地址:
--》http://developer.android.com/sdk/index.html(需Fan—Qiang)
--》http://www.android-studio.org/index.php/download
眼下最新的版本號為 V-1.3(141.1980579)
B、安裝Gradle
下載地址:
--》http://services.gradle.org/distributions
眼下最新的版本號為 gradle-2.5-all (建議使用gradle-2.4-all.zip)
2.基本配置
1、配置Android Studio(簡單的安裝過程請參見)
安裝完畢之後進入Setting 完畢SDK的關聯配置(Setting中能夠進行IDE的全部配置。詳細配置方法見https://www.jetbrains.com/idea/help/android.html)
假設電腦硬件配置比較高建議對Android Studio進行相關的環境參數配置,這樣執行會比較的流暢。
2、配置Gradle
下載完畢之後選擇目標解壓位置(隨意無中文路徑)進行解壓。而且在path中改動環境變量 : X:\XX\gradle-2.4\bin,註意 : Android Studio必須使用gradle1.9以上版本號 , 才幹夠使用, 否則會提示報錯。
測試gradle , 在cmd(管理員)模式下, 輸入: gradle -version 就可以:
三、Android Studio 使用相關
1.新建項目project
完畢環境配置之後啟動Android Studio
(假設已經構建過項目的老用戶須要在 File 選項下
close project 關閉當前的project )
進入主界面之後新建
相應的編輯框分別為:project名(包名後綴)、公司名(包名前綴)、project文件夾
進行新建的項目內型進行選擇,Phone、wear、TV...以及對應的SDk版本號
2.導入Studio項目project
點擊 open an existing Android Studio project 進行Studio項目的導入,已經構建過的項目會自己主動關聯Android Studio的圖標。
3.導入Eclipse項目project
從Eclipse中導出
1.將你的ADT插件版本號升級到22.0以上。
2.在Eclipse中。選擇File-->Export。
3.在彈出的導出窗體中,打開Android的目錄,選擇“Generate Gradle Build Files”。
4.選中你想要導入到Android Studio中的項目。Finish。
PS:導出的項目將會和原來的項目在同一文件夾。覆蓋原來的同一時候。會新增一個叫build.gradle的文件,導入Android Studio時將首先讀取這個文件。
導入到Android Studio
1.在Android Studio 中,首先關掉你當前的打開的項目。
2.在歡迎界面,點擊Import Project(註:也是能夠直接在菜單選擇Open project)
3.選中你在Eclipse中導出的項目,展開文件夾,點擊build.gradle文件,然後OK
4.在之後的彈出對話框中,會要求你選擇Gradle的配置,選中Use gradle wrapper.(註:也能夠自己定義你本機裝的Gradle,這樣構建project會比較的高速)。
PS:假設沒有Grade build文件。也是能夠將普通的安卓項目導入到Android Studio中。它會用現有的Ant build.但為了更好地使用之後的功能和充分使用構建變量,還是強烈地建議先從ADT插件中生成Gradle文件再導入Android Studio
4.項目相關構建build.gradle配置
1.根文件夾的./build.gradle
2.app Moudle下的./app/build.gradle
5.
6.Android Studio引用aar
aar
何為aar?大家都知道jar文件把。假設你有一個Android Library項目。能夠非常easy的導出jar文件,然後在其它項目中非常方便的引用,aar和jar類似,差別就是一個Android Library項目導出的jar文件不能包括資源文件。比方一些drawable文件、xml資源文件之類的,所以這就有非常大的限制,在gradle之前我們要引用帶資源文件的Android Library必需要把整個library導入進來進行引用,可是有了gradle之後。Android Library項目能夠直接導出成aar,然後其它項目像引用jar的方式直接方便的引用。
導出aar
首先Android Library項目的gradle腳本僅僅須要在開頭聲明
apply plugin: ‘com.android.library‘
之後就和導出apk文件一樣的方法,運行 ./gradlew assembleRelease。然後就能夠在 build/outputs/aar 目錄裏生成aar文件
① 引用本地的aar
生成aar之後下一步就是怎樣引用本地的aar文件?本地的aar文件並沒有像引用jar文件這麽簡單,官方也沒有提供解決方式。好在國外的一些前輩總結出了方法。以下就以test.aar文件為例來詳述下方法
1、把aar文件放在一個文件文件夾內。比方就放在libs文件夾內
2、在app的build.gradle文件加入例如以下內容
repositories {
flatDir {
dirs ‘libs‘ //this way we can find the .aar file in libs folder
}
}
3、之後在其它項目中加入一句gradle依賴便方便的引用了該library
dependencies {
compile(name:‘test‘, ext:‘aar‘)
}
② 引用遠程倉庫的aar
這裏以maven為例,當然也能夠使用其它類型的倉庫,比如 Ivy。
僅僅須要在jar包引用方式後面加入一個@aar就能夠了。
compile ‘com.alibaba:fastjson:[email protected]
包依賴(jar)
compile group: ‘com.alibaba‘, module: ‘fastjson‘, version: ‘latest.integration‘
能夠簡寫成
compile ‘com.alibaba:fastjson:latest.integration‘
latest.integration能夠替換成詳細的版本號號,這裏是獲取server上的最新版本號。
去掉反復依賴
compile ‘com.alibaba.fastjson.latest.integration‘ {
exclude module: ‘annotations‘, group: ‘com.google.android‘
}
7.加速Android Studio/Gradle構建
開啟gradle單獨的守護進程
在以下的文件夾以下創建gradle.properties文件:
· /home/<username>/.gradle/ (Linux)
· /Users/<username>/.gradle/ (Mac)
· C:\Users\<username>\.gradle (Windows)
並在文件裏添加:
org.gradle.daemon=true
同一時候改動項目下的gradle.properties文件也能夠優化:
# Project-wide Gradle settings.# IDE (e.g. Android Studio) users:# Settings specified in this file will override any Gradle settings# configured through the IDE.# For more details on how to configure your build environment visit# http://www.gradle.org/docs/current/userguide/build_environment.html# The Gradle daemon aims to improve the startup and execution time of Gradle.# When set to true the Gradle daemon is to run the build.# TODO: disable daemon on CI, since builds should be clean and reliable on serversorg.gradle.daemon=true# Specifies the JVM arguments used for the daemon process.# The setting is particularly useful for tweaking memory settings.# Default value: -Xmx10248m -XX:MaxPermSize=256morg.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8# When configured, Gradle will run in incubating parallel mode.# This option should only be used with decoupled projects. More details, visit# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projectsorg.gradle.parallel=true# Enables new incubating mode that makes Gradle selective when configuring projects. # Only relevant projects are configured which results in faster builds for large multi-projects.# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demandorg.gradle.configureondemand=true
同一時候上面的這些參數也能夠配置到前面的用戶文件夾下的gradle.properties文件中,那樣就不是針對一個項目生效。而是針對全部項目生效。
上面的配置文件主要就是做, 增大gradle執行的java虛擬機的大小,讓gradle在編譯的時候使用獨立進程。讓gradle能夠平行的執行。
改動android studio配置
在android studio的配置中。開啟offline模式。以及改動配置。主要是在這個地方配置的僅僅會在ide構建的時候生效,命令行構建不會生效。
命令行構建
基於上面的配置。命令行構建時在命令後面加上這個參數就可以 --daemon --parallel --offline。
三、Android Studio 使用常見錯誤
//設置腳本的執行環境
buildscript {
//支持java 依賴庫管理(maven/ivy),用於項目的依賴。
repositories {
mavenCentral()
}
//依賴包的定義。
支持maven/ivy,遠程,本地庫,也支持單文件
dependencies {
classpath ‘com.android.tools.build:gradle:0.4‘
}
}
//聲明構建的項目類型。這裏當然是android了
apply plugin: ‘android‘
//設置編譯android項目的參數
android {
compileSdkVersion 17
buildToolsVersion "17"
defaultConfig {
minSdkVersion 8
targetSdkVersion 17
}
//Android默認配置
sourceSets {
main {
manifest.srcFile ‘AndroidManifest.xml‘
java.srcDirs = [‘src‘]
resources.srcDirs = [‘src‘]
aidl.srcDirs = [‘src‘]
renderscript.srcDirs = [‘src‘]
res.srcDirs = [‘res‘]
assets.srcDirs = [‘assets‘]
}
//測試所在的路徑,這裏如果是tests目錄。沒有能夠不寫這一行
instrumentTest.setRoot(‘tests‘)
}
//這個是解決lint報錯的代碼
lintOptions {
abortOnError false
}
/**
* 簽名設置
*/
signingConfigs {
myConfigs {
storeFile file("簽名文件地址")
keyAlias "..."
keyPassword "..."
storePassword "..."
}
}
/**
* 混淆設置
*/
buildTypes {
release {
signingConfig signingConfigs.myConfigs
runProguard true
proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
}
}
/**
* 渠道打包(不同包名)
*/
productFlavors {
qqqq {
applicationId = ‘包名‘
}
hhhhh {
applicationId=‘包名‘
}
}
}
/**
* .so文件的導入
*/
task copyNativeLibs(type: Copy) {
from fileTree(dir: ‘libs‘, include: ‘armeabi/*.so‘) into ‘build/lib‘
}
tasks.withType(Compile) {
options.encoding = "UTF-8"
}
tasks.withType(Compile) {
compileTask -> compileTask.dependsOn copyNativeLibs
}
clean.dependsOn ‘cleanCopyNativeLibs‘
tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
pkgTask.jniFolders = [new File(buildDir, ‘lib‘)]
}
//依賴庫
dependencies {
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
}
AndroidStudio自己定義屬性xmlns無法識別問題解決
in Gradle projects,always use http://schemas.android.com/apk/res-auto
正如in Gradle projects,always usehttp://schemas.android.com/apk/res-auto for custom attributes所說的
將eclipse中
http://schemas.android.com/apk/res/com.xxx.xxx
換成
http://schemas.android.com/apk/res-auto
這樣Gradle就會自己主動查找自定屬性的
Android Studio svn的使用
單文件 簽入當文件,右鍵subversion Add
文件紅色:表示文件沒有加入到server
綠色:表示沒有更新新的改動到server
普通黑色:表示和server同步
單個文件簽入簽出操作:右鍵subversion
Add,加入到server
Commit:提交
Update:更新,獲取新版本號
Integrate:合並
註意:SVN和VSS不同簽入前假設文件被其它人改動須要比較版本號怎樣其它改動有效須要合並簽入
未完..待續
Android Studio最新配置教程2016