android studio配置gradle路径 gradle dependencies 包存放在哪儿

> 博客详情
Gradle 基本概念
&&&&//设置脚本的运行环境
&&&&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'])
dependencies&{
&&&&&&&&//单文件依赖
compile&files('libs/android-support-v4.jar')
//某个文件夹下面全部依赖
compile&fileTree(dir:&'libs',&include:&'*.jar')
repositories&{
&&&&&&&&//从中央库里面获取依赖
mavenCentral()
//或者使用指定的本地maven&库
url&"file://F:/githubrepo/releases"
//或者使用指定的远程maven库
url&"远程库地址"
dependencies&{
&&&&&&&&//应用格式:&packageName:artifactId:version
compile&'com.google.android:support-v4:r13'}
android library 依赖
打包android library
gradle build*.aar
dependencies&{
&&&&compile(name:&'pulltorefresh',&ext:&'aar')
最后,分享个maven库地址:和gradle版本地址:
另外,gradle文件配置部分更新:
在此添加,最新grad了配置地址为:
人打赏支持
码字总数 17097
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥本来很久之前想弄这玩意,不过因为各种原因,所以没弄。
今天有位前辈提出需求。说想让Eclipse的Android项目逐步走向Android Studio,但是又担心Android Studio一时三刻适应不过来。
说能不能不改变源代码的主要工作目录(在Eclipse的android project root/的&src、res、lib、AndroidManifest.xml四个目录)来在Android Studio上开发呢?
我当看到这篇博客的看官已经对Android Studio有足够熟悉
(怎么才算足够熟悉呢?)
1.起码你的Android&Studio已经能运行起来。而不是像其他的同学说。我的Android Studio一直跑不起来。
2.知道Android的构建工具是Gradle是什么玩意?起码你环境(命令行CMD)上敲入gradle -v 能见到你的Gradle version
3.知道Android Studio的Project相当于Eclipse的Workspaces ,Module 相当于Eclipse的project
4.知道Android Studio的Android Module&root目录分布 (build,libs,src以及build.gradle文件),以及里面都是些什么东西。
开始正文吧:
如果已经投向Android Studio的同学大可以不看这篇玩意。因为你们已经很熟悉Android Studio了。
1.如上题目。Eclipse与Android Studio这两个IDE的Android项目因为工作目录不相同,所以不能很好的兼容开发。
如果看了某些文章的话。(/articles/2q6fMr),
知道Android project 打包方式 (Eclipse使用Ant,Android studio 是用Gradle)
那既然他们本来不一样的打包方式,怎么切换IDE来进行开发呢?
2.我们知道Google 为了让更多的Android开发者的IDE从Eclipse 转去Android Studio。就有一个操作。就是能直接把导入Eclipse的Android project
看到这里。同学说。你这是废话嘛?下面还要继续看不?
虽然可以直接导入项目,但是导入进去后,发现项目在Android Studio的工作目录已经发生翻天覆地的变化了。(其实就是变成了Android studio的项目而已)
3.正因为有上面两点,所以本文才有需求出现。
(其实本文工作原理很简单的。就是为了适应在Android studio上运行而改变一下Gradle的脚本,至于Gradle的脚本怎么写。下面会提到。)
准备工作:
1.新建好一个能运行的(HelloWorld) 的Android 项目。
2.右击该死的项目导出
我假如你只打开一个项目。后面的步骤就一直Next就好了。
3.为了明显表现多了哪些文件。所以就用SVN的项目来做Demo。
如图的多出的文件(build.gradle,gradlew,gradlew.bat)与及文件夹(gradle)
其中只有build.gradle和文件夹(gradle/wrapper)中的gradle-wrapper.properties有用。
(别急着删除其余的,其他你只是不用修改他而已,不是让你删除它。
(gradlew,gradlew.bat 这两玩意是给 玩 &命令行& 的人用的。至于你用哪一个呢?就看你哪个系统了。
后话:我一开始都感觉这两玩意是没有用的。
(因为我配置Gradle在环境了。一直用着gradle命令。没有用gradlew,这个后面带有w的gradlew)
其实这个gradlew是你当前项目中的gradle命令。
如果你执行gradle编译这个项目。很可能遇到这样的话
Gradle version 1.10 is required. //你当前项目需要用的版本Current version is 2.3. //你环境用的gradle版本If using the gradle wrapper, try editing the distributionUrl in %项目目录%\gradle\wrapper\gradle-wrapper.properties to gradle-1.10-all.zip
或者某些无聊的问题。
所以如果你不想出错的话。一般就用gradlew.bat来操作吧。毕竟别人项目指定这个版本。
gradle-wrapper.properties 这个文件说有用,也可以,说没有用,也可以
(这个文件控制你用哪一个版本的Gradle来构建项目,
因为某些原因(也跟人品有关系的),突然就用不了,
人品好时就不用换就能用了。
人品不好就需要你更换一下版本号。
至于版本号,你第一次用的话,就只能上去https://services.gradle.org/distributions/这里找一下。(这个是标配的网址),
有些时候慢得可怜。你大可以上官网下载。https://gradle.org/downloads/,下好再丢到相应版本号文件下面就好。
还有其他方法的。不过本人比较懒。而且公司网络是HK的。所以很快就下载好了。
build.gradle 只是把你的Eclipse的信息翻译在这个配置文件(这玩意就是你在Android studio打包用的)
4.现在你的项目已经整合了Gradle了。现在只能试试能用不。
我本人Eclipse已经装了StartExplorer 这个插件,所以直接在这个项目下打开CMD,敲入gradle -gui(这个是gradle 源生图形化工具)
然后你就见到基于你那个build.gradle的所有命令了
(我当时人品不好又遇到这个问题,至于解决方案,上面讲了。自己看看上面吧。)
5.我假设你已经在刚才的Gradle图形化工具执行(gradle installBug或者 gradle iB(驼峰命令。你懂的))成功。
那我们就转移去Android Studio中导入我们这个项目。
这点是有要求的。
一般我们导入项目。就是傻乎乎的导入项目的目录
如果这样导入的话。Android Studio就当你的项目是Eclipse项目导入进来(只是不帮你变化项目目录结构),不过Android Studio只识别一个build.gradle文件。
这是你如果是一个刚刚使用Android studio的同学。 这回你惨了。你肯定花上不止一两个小时。解决这样的问题。(心里有千万只草泥马跑过,在埋怨Android studio的开发者)
正确的做法是在导入时,点击你的刚刚在Eclipse导出的build.gradle文件来导入到Android Studio。
这时。同学们就看到你的Eclipse的项目在Android studio这个IDE了。
6.这时看到清楚一点的同学。发现怎么与Eclipse的目录不一样呢?
其实实际上目录上没有发生改变。只是。你的项目还有问题!
这个问题在下面的&0:Message&一般错误都在这里显示的。
看到上面两张图都有一个共同的错误吧,因为你当前Android studio使用依赖包是 1.2.3
而你的build.gradle文件依赖着还是下面这句
  dependencies {  classpath 'com.android.tools.build:gradle:0.12.+'
所以你先把你的&classpath 'com.android.tools.build:gradle:0.12.+' 改为&classpath 'com.android.tools.build:gradle:1.2.3'
这是你再保存。按一下 "Ctrl + F9" 运行一下项目。
这时又出现一个错误了。(这里我黏贴一下吧。因为很多人遇到这个错误)
Error:Unable to load class 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'.Possible causes for this unexpected error include:&ul&&li&Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)&a href="syncProject"&Re-download dependencies and sync project (requires network)&/a&&/li&&li&The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.&a href="stopGradleDaemons"&Stop Gradle build processes (requires restart)&/a&&/li&&/ul&In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.
解决办法就是:就是把你的gradle-wrapper.properties换一下。换一个高级一点的Gradle Version. 这个然后在编译一下,这时奇迹出现了。
你的Android Studio 项目目录居然变成Eclipse那样,这时,如果没有什么意外。就可以直接点击那个三角符号。运行项目了。
(虽然在项目工作根目录中多了不少的文件,不过那些文件不影响项目的开发和打包,所以来说,算可以跨IDE开发了)
本文就说到这里吧。去吧。骚年。好好体验Android studio吧。
阅读(...) 评论()

我要回帖

更多关于 studio gradle 的文章

 

随机推荐