您的位置:首页 > 移动开发 > Android开发

Android Studio最新配置教程2016

2015-07-22 11:41 330 查看

http://blog.csdn.net/wen_demo

一、Androidstudio基本简介

1.Androidstudio和Eclipse的区别:

1、Studio中有Project和Module的概念,Studio中一个窗口只能有一个项目,即Project,代表一个workspace,但是一个Project可以包含多个Module,比如你项目引用的AndroidLibrary,JavaLibrary等,这些都可以看做是一个Module。

2、目录中将java代码和资源文件(图片、布局文件等)全部归结为src,在src目录下有一个main的分组,同时划分出java和res两个文件夹,java文件夹则相当于Eclipse下的src文件夹,res目录结构则一样.

2.gradle构建工具简介

1、Gradle是一种依赖管理工具,Gradle的核心是一个丰富的可扩展的基于Groovy的领域特定语言(DSL)。Gradle通过提供说明性语言元素将说明性构建推到下一层,您可以组装。这些元素也提供build-by-convention支持Java、Groovy、OSGi、Web和Scala项目。更多,这个说明性语言是可扩展的。添加自己的新语言元素或提高现有的,从而提供简洁、易于维护和理解构建。

二、AndroidStudio安装配置

1.基本安装

A、安装AndroidStudio

安装过程和一般安装过程一致,下载地址:

--》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、配置AndroidStudio(简单的安装过程请参见)

安装完成之后进入Setting完成SDK的关联配置(Setting中可以进行IDE的所有配置,具体配置方法见https://www.jetbrains.com/idea/help/android.html)



如果电脑硬件配置比较高建议对AndroidStudio进行相关的环境参数配置,这样运行会比较的流畅。



2、配置Gradle

下载完成之后选择目标解压位置(任意无中文路径)进行解压,并且在path中修改环境变量:X:\XX\gradle-2.4\bin,注意:AndroidStudio必须使用gradle1.9以上版本,才可以使用,否则会提示报错。

测试gradle,在cmd(管理员)模式下,输入:gradle-version即可:





三、AndroidStudio使用相关

1.新建项目工程

完成环境配置之后启动AndroidStudio

(如果已经构建过项目的老用户需要在File选项下

closeproject关闭当前的project)



进入主界面之后新建





对应的编辑框分别为:工程名(包名后缀)、公司名(包名前缀)、工程目录

进行新建的项目内型进行选择,Phone、wear、TV...以及相应的SDk版本

2.导入Studio项目工程



点击openanexistingAndroidStudioproject进行Studio项目的导入,已经构建过的项目会自动关联AndroidStudio的图标。



3.导入Eclipse项目工程

从Eclipse中导出

1.将你的ADT插件版本升级到22.0以上。

2.在Eclipse中,选择File-->Export。

3.在弹出的导出窗口中,打开Android的文件夹,选择“GenerateGradleBuildFiles”。

4.选中你想要导入到AndroidStudio中的项目,Finish。



PS:导出的项目将会和原来的项目在同一目录,覆盖原来的同时,会新增一个叫build.gradle的文件,导入AndroidStudio时将首先读取这个文件。



导入到AndroidStudio

1.在AndroidStudio中,首先关掉你当前的打开的项目。

2.在欢迎界面,点击ImportProject(注:也是可以直接在菜单选择Openproject)

3.选中你在Eclipse中导出的项目,展开目录,点击build.gradle文件,然后OK

4.在之后的弹出对话框中,会要求你选择Gradle的配置,选中Usegradlewrapper.(注:也可以自定义你本机装的Gradle,这样构建工程会比较的快速)。

PS:如果没有Gradebuild文件,也是可以将普通的安卓项目导入到AndroidStudio中,它会用现有的Antbuild.但为了更好地使用之后的功能和充分使用构建变量,还是强烈地建议先从ADT插件中生成Gradle文件再导入AndroidStudio

4.项目相关构建build.gradle配置

1.根目录的./build.gradle

2.appMoudle下的./app/build.gradle



5.

6.AndroidStudio引用aar

aar

何为aar?大家都知道jar文件把,如果你有一个AndroidLibrary项目,可以很容易的导出jar文件,然后在其他项目中很方便的引用,aar和jar类似,区别就是一个AndroidLibrary项目导出的jar文件不能包含资源文件,比如一些drawable文件、xml资源文件之类的,所以这就有很大的限制,在gradle之前我们要引用带资源文件的AndroidLibrary必须要把整个library导入进来进行引用,但是有了gradle之后,AndroidLibrary项目可以直接导出成aar,然后其他项目像引用jar的方式直接方便的引用。

导出aar

首先AndroidLibrary项目的gradle脚本只需要在开头声明

applyplugin:'com.android.library'

之后就和导出apk文件一样的方法,执行./gradlewassembleRelease,然后就可以在build/outputs/aar文件夹里生成aar文件

① 引用本地的aar

生成aar之后下一步就是如何引用本地的aar文件?本地的aar文件并没有像引用jar文件这么简单,官方也没有提供解决方案。好在国外的一些前辈总结出了方法,下面就以test.aar文件为例来详述下方法

1、把aar文件放在一个文件目录内,比如就放在libs目录内

2、在app的build.gradle文件添加如下内容

repositories{

flatDir{

dirs'libs'//thiswaywecanfindthe.aarfileinlibsfolder

}

}

3、之后在其他项目中添加一句gradle依赖便方便的引用了该library

dependencies{

compile(name:'test',ext:'aar')

}

② 引用远程仓库的aar

这里以maven为例,当然也可以使用其他类型的仓库,例如Ivy。只需要在jar包引用方式后面添加一个@aar就可以了。

compile'com.alibaba:fastjson:latest.integration@aar'

包依赖(jar)

compilegroup:'com.alibaba',module:'fastjson',version:'latest.integration'

可以简写成

compile'com.alibaba:fastjson:latest.integration'

latest.integration可以替换成具体的版本号,这里是获取服务器上的最新版本。

去掉重复依赖

compile'com.alibaba.fastjson.latest.integration'{

excludemodule:'annotations',group:'com.google.android'

}

7.加速AndroidStudio/Gradle构建

开启gradle单独的守护进程

在下面的目录下面创建gradle.properties文件:

·/home/<username>/.gradle/(Linux)

·/Users/<username>/.gradle/(Mac)

·C:\Users\<username>\.gradle(Windows)

并在文件中增加:

org.gradle.daemon=true

同时修改项目下的gradle.properties文件也可以优化:

#Project-wideGradlesettings.#IDE(e.g.AndroidStudio)users:#SettingsspecifiedinthisfilewilloverrideanyGradlesettings#configuredthroughtheIDE.#Formoredetailsonhowtoconfigureyourbuildenvironmentvisit#http://www.gradle.org/docs/current/userguide/build_environment.html#TheGradledaemonaimstoimprovethestartupandexecutiontimeofGradle.#WhensettotruetheGradledaemonistorunthebuild.#TODO:disabledaemononCI,sincebuildsshouldbecleanandreliableonserversorg.gradle.daemon=true#SpecifiestheJVMargumentsusedforthedaemonprocess.#Thesettingisparticularlyusefulfortweakingmemorysettings.#Defaultvalue:-Xmx10248m-XX:MaxPermSize=256morg.gradle.jvmargs=-Xmx2048m-XX:MaxPermSize=512m-XX:+HeapDumpOnOutOfMemoryError-Dfile.encoding=UTF-8#Whenconfigured,Gradlewillruninincubatingparallelmode.#Thisoptionshouldonlybeusedwithdecoupledprojects.Moredetails,visit#http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projectsorg.gradle.parallel=true#EnablesnewincubatingmodethatmakesGradleselectivewhenconfiguringprojects.#Onlyrelevantprojectsareconfiguredwhichresultsinfasterbuildsforlargemulti-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可以平行的运行。

修改androidstudio配置

在androidstudio的配置中,开启offline模式,以及修改配置。主要是在这个地方配置的只会在ide构建的时候生效,命令行构建不会生效。

命令行构建

基于上面的配置,命令行构建时在命令后面加上这个参数即可--daemon--parallel--offline。

三、AndroidStudio使用常见错误

//设置脚本的运行环境

buildscript{

//支持java依赖库管理(maven/ivy),用于项目的依赖。

repositories{

mavenCentral()

}

//依赖包的定义。支持maven/ivy,远程,本地库,也支持单文件

dependencies{

classpath'com.android.tools.build:gradle:0.4'

}

}

//声明构建的项目类型,这里当然是android了

applyplugin:'android'

//设置编译android项目的参数

android{

compileSdkVersion17

buildToolsVersion"17"

defaultConfig{

minSdkVersion8

targetSdkVersion17

}

//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{

abortOnErrorfalse

}

/**

*签名设置

*/

signingConfigs{

myConfigs{

storeFilefile("签名文件地址")

keyAlias"..."

keyPassword"..."

storePassword"..."

}

}

/**

*混淆设置

*/

buildTypes{

release{

signingConfigsigningConfigs.myConfigs

runProguardtrue

proguardFilesgetDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'

}

}

/**

*渠道打包(不同包名)

*/

productFlavors{

qqqq{

applicationId='包名'

}

hhhhh{

applicationId='包名'

}

}

}

/**

*.so文件的导入

*/

taskcopyNativeLibs(type:Copy){

fromfileTree(dir:'libs',include:'armeabi/*.so')into'build/lib'

}

tasks.withType(Compile){

options.encoding="UTF-8"

}

tasks.withType(Compile){

compileTask->compileTask.dependsOncopyNativeLibs

}

clean.dependsOn'cleanCopyNativeLibs'

tasks.withType(com.android.build.gradle.tasks.PackageApplication){pkgTask->

pkgTask.jniFolders=[newFile(buildDir,'lib')]

}

//依赖库

dependencies{

compilefileTree(dir:'libs',include:['*.jar'])

}

AndroidStudio自定义属性xmlns无法识别问题解决

inGradleprojects,alwaysuse

正如in'target='_blank'>http://schemas.android.com/apk/res-auto正如inGradleprojects,alwaysusehttp://schemas.android.com/apk/res-autoforcustomattributes所说的

将eclipse中
http://schemas.android.com/apk/res/com.xxx.xxx
换成
http://schemas.android.com/apk/res-auto
这样Gradle就会自动查找自定属性的

AndroidStudiosvn的使用

单文件签入当文件,右键subversionAdd

文件红色:表示文件没有添加到服务器

绿色:表示没有更新新的修改到服务器

普通黑色:表示和服务器同步

单个文件签入签出操作:右键subversion

Add,添加到服务器

Commit:提交

Update:更新,获取新版本

Integrate:合并

注意:SVN和VSS不同签入前如果文件被其他人修改需要比较版本如何其他修改有效需要合并签入

未完..待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: