启动

Project Structure

的时候可以

Structure

看到分两个区域

一个是项目的总体设置区域.还有一个是对Module的分别设置.

一.项目总体设置

SDK Location中可以设置SDK和JDK路径.

Project中可以设置Gradle与Android工具的信息

发觉有个字母打错了,不理了....

Gradle本身必须有一个仓库源,否则无法运行

什么是仓库源:仓库源就是Gralde对Android支持的一个仓库,对Android进行相应的配置,处理等信息.具体可以参考下面链接

默认的仓库源是jcenter.以前是mavenCentral.也可以填写自定义的地址.本地地址等.具体可以参考以下链接

相关的配置信息可以在项目空间的build.gradle文件查看.打开项目空间的build.gradle文件.可以看到这么一个代码段:

这里就显示该项目空间的仓库源是jcenter.修改上面的仓库源,这个代码也会跟着变化.

二.Modlue区域

Module一共包含五个选项卡

分别是:属性,签名,多渠道,构建类型,依赖包.

Properties属性

▪Compile Sdk Version:Android的编译版本

▪Build Tools Version: 构建工具版本

▪Library Reposiory当前的Module的仓库源.

这里可以定义一个地址,一个本地路径,或者是jcenter()和mavenCentral().

填写任何一个仓库,AS会自动下载对应的仓库,如果你随便填写一个,会提示你无法连接到该仓库.我这这里填写了

mavenCentral()

在打开对应的.Gradle配置文件

可以看到有被修改的标志了.点进去以后

发觉这个文件自动添加了一个仓库源.名字就是

mavenCentral(),

然后最下面的状态栏显示正在下载

mavenCentral()仓库.

注意:由于项目空间已经定义了仓库源,所以Module的build.gradle文件默认是没有仓库源的,通常情况下也不需要填写

Ignore Assets Pattern:打包时候要忽略的文件

这将影响所有使用aapt的task.

这里我填写一个siyehua.

在对应的文件中可以看到多了以下代码:

Incremental Dex:增长DEX

Android打包工具(aapt)将DEX文件,资源文件以及AndroidManifest.xml文件(二进制格式)组合成一个应用程序包(APK)。应用程序包可以被发布到手机上运行

如果将它设置为ture,可以看到对应的文件中增加了如下代码

dexOptions {

incremental true

}

Source Compatibility:资源版本Target Compatibility:目标版本

两个都选了1.7,可以看到增加了如下代码:

Signing签名

它们之间的关系是:

一个keystroe就是一个签名文件.打开它需要一个密码,就是keystore密码.

Keystrore中可以存放多个key Alias,每一个key alias有一个单独的密码.

Flavors(多样性,多渠道)

我们的应用经常需要多渠道打包.这个可以翻译为多渠道打包.

Name:Flaveor的名字

Min Sdk Version:向下兼容的SDK版本

Application Id:包名

Proguard File:混淆文件

混淆文件,去除无用文件,并优化代码

Signig Config:签名文件名.

签名的文件信息在前一个选项卡Signing中设置.在这里选择

Target Sdk Version:目标SDK版本

Test Instrumentation Runner:Test Runner

Test Application Id:测试时的ID

Version Code:Module版本

Version Name:Module版本名称

设置了以后可以看到这个渠道对应的信息

Build Types构建类型

Name:Build Type名称

Debugable:是否可以调试

Jin Debuggable:是否可以调试JNI

Signing Config:签名信息

Renderscript Debuggale:是否使用RenderScript

Renderscript Optim Level:Rendescript版本.

Minify Enabled:是否去除无用的资源

Pseudo Locales Enaled:是否支持本地化整理

Proguard File:混淆,去重文件路径

Application Id Suffix:App id后缀

Version Name Suffix:版本名称后缀

Zip Align Enabled:是否支持Zip Align

tesst_001设置好以后的对应属性:

Dependencies(依赖)

在这里添加添加jar包,library等.

其中

1.表示添加用系统的library,例如v7,v4包.

2.添加jar包(注意这个jar包必须在当前的Module)

3.添加一个Module(这个工程是AS A Libray)

添加以后,点击这个,会出现一下的选项.

分表是编译,提供,导出APK时,测试编译时,调试,发布时.

这里选择release complie.在对应的build.gradle中显示

总结:

看完了上面的所有信息,我们再来看看项目空间的build.gradle和其中的一个module的build.gradle文件的信息

项目空间build.gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

repositories {

jcenter()

}

dependencies {

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

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

allprojects {

repositories {

jcenter()

}

}

module的build.gradle文件:

apply plugin: 'com.android.application'

android {

signingConfigs {

test1 {

keyAlias 'siyehua'

keyPassword 'siyehua'

storeFile file('C:/Users/Administrator/Desktop/work/其他/tour.keystore')

storePassword 'siyehua'

}

}

compileSdkVersion 21

buildToolsVersion "21.1.2"

defaultConfig {

applicationId "com.siyehua.android_siyehua"

minSdkVersion 15

targetSdkVersion 21

versionCode 1

versionName "1.0"

signingConfig signingConfigs.test1

testApplicationId 'siyehua'

testInstrumentationRunner 'siyehua'

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

testbuild_001 {

debuggable true

jniDebuggable true

signingConfig signingConfigs.test1

renderscriptDebuggable true

applicationIdSuffix '_10087'

versionNameSuffix '_10088'

minifyEnabled true

pseudoLocalesEnabled true

zipAlignEnabled true

}

debug {

}

}

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_7

targetCompatibility JavaVersion.VERSION_1_7

}

productFlavors {

flavor12 {

}

}

aaptOptions {

}

dexOptions {

incremental false

}

}

dependencies {

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

compile 'com.android.support:appcompat-v7:21.0.2'

releaseCompile files('libs/xmn_lpush_1.3.jar')

}

repositories {

123

}

看完上面的的相信大家对Gradle,相应的配置,以及要怎么配置,在哪里配置.都有了一个大概的了解.

注意:直接修改gradle会直接修改对应的设置.

更多Gralde信息.比如说Flavors与Build Types之间有什么关系,对项目的构建会产生什么影响.

如何使用命令行配置等等问题

可以参考以下链接(这些链接也是我写这博文的参考基础.):

①Gradle翻译:在这里可以看到每个选项的作用是什么,翻译的非常好

②Gradle基础,学习之路大神最新教程

③Gralde官网

对应的部分使用翻译

④Gralde翻译以及使用

博客转载地址:http://blog.sina.com.cn/s/blog_77d5a0310102vhw1.html

as本地仓库更改_Android Studio 之 Gradle与Project Structure详解相关推荐

  1. Gradle安装和配置详解

    Gradle安装和配置详解 gradle是基于Apache Ant和Apache Maven概念的项目自动化构建开源工具,也提供了很多第三方插件.在Java Web项目中通常会用到 java.war. ...

  2. Win7系统Visual Studio 2013配置OpenCV3.1图文详解

    Win7系统Visual Studio 2013配置OpenCV3.1图文详解 OpenCV3.1对硬件加速和移动开发的支持相对于老版本都有了较大改进,支持新的开发工具,更易于扩展,配置方式也比以前简 ...

  3. Android Gradle manifestPlaceholders 占位符详解

    Android Gradle manifestPlaceholders 占位符详解 在实际项目中,AndroidManifest里十几个地方的值是需要动态的改变(生成apk文件的时候).如果每次去改也 ...

  4. android工程怎么连手机,android studio与手机连接调试步骤详解

    android studio 版本不同连接手机方式有细微的不同,主要方式相似.介绍主要分手机和电脑两部分介绍. 一.手机部分 1.手机端下载一个"一键root权限获取",在安装的过 ...

  5. git 怎么拉取线上代码到本地进行合并_android studio如何使用git提交、拉取、合并代码的操作...

    我们在实际做项目开发时,一般都需要多人协同开发,这就产生了代码管控的需求,一些版本控制的工具就应运而生了.现在常用的一种是Git,另外还有些svn等,本人感觉git工具比较好用,这篇文章也只讲述git ...

  6. gradle构建android项目详解

    1.用Gradle构建 1.1 工程结构 如图所示,这是一个不能更普通的Android的Gradle工程了. 根目录下面的settings.gradle当中主要是用来include子模块的,比如我们这 ...

  7. ios navigation的返回按钮长按_Android Jetpack架构组件 — Navigation入坑详解 [转]

    前言 这是最近看见的觉得比较有意思的文,希望对大家的学习有帮助. Navigation 直接翻译即为导航,它是 Android Jetpack 组件之一,让单 Activity 应用成为首选架构.应用 ...

  8. Visual Studio集成Qt环境搭建_详解与测试

    1.利器≠戾气 接了两个项目,而这两个项目说起来也很有意思. 一个是监护仪软件开发,要求利用MFC进行开发,因为在此之前接近两年时间一直进行MFC开发:来到清华后,碰到了好多的计算机编程大牛,就GUI ...

  9. android 生命周期_Android生命周期组件 Lifecycle 源码详解(一)

    在上篇文章: warmcheng:Android生命周期组件 Lifecycle 使用详解​zhuanlan.zhihu.com 中,我们讲了 Lifecycle 的简单使用,本篇我们来研究下它的源码 ...

最新文章

  1. 百度增长复苏,市值一夜涨160亿;李彦宏:技术价值再度闪耀,宁可创新冒险也不平庸保守...
  2. OSPF协议工作原理
  3. 吐司面包的做法_无糖粗粮吐司面包的做法+配方,超柔超软,一次发酵
  4. 为什么matplotlib显示opencv图像不正常
  5. html.renderaction 控制器,Html.RenderAction简单用法
  6. phpMailer 配置 企业邮局 163
  7. 牛客14605 画三角
  8. HIT Software Construction Review Notes(1-1 Multi-Dimensional Views of Software Construction)
  9. php 调用继承的方法吗,如何从继承的方法中调用PHP父方法?
  10. IP地址、子网掩码、有效子网数、有效主机数
  11. 无线充电协议Qi 转 UART
  12. 嵌入式Linux开发|点亮那颗LED灯
  13. 题源报刊第三季--Lesson 3--Gender equality at work is a matter of respect,not just money
  14. webstorm下载地址分享
  15. 王者荣耀赛季更新服务器维护到什么时候,王者荣耀s9维护到几点 王者荣耀s10赛季上线时间一览...
  16. 使用Python制作数据动画
  17. 解密支付系统,来看如何构建理想的支付系统架构
  18. 《【游戏】《三国群英传6》VI完全[下载][安装][破防拷][升级]手册》
  19. 阿里云安全增强计算型c6t云服务器参数详解
  20. windows 11变回原来的右键菜单

热门文章

  1. 小企鹅输入法fcitx在RedHat9下安装
  2. Linux下软件安装方法汇总
  3. opencv-python处理图片的一些列操作
  4. kivy texture图片格式和opencv numpy图片格式互转
  5. pandas版xml json excel互转
  6. 现有exe转为服务_方式01
  7. WSHPSRS-匹克选择列表生成器-SRS(R12.2.3)
  8. SPF Tarjan算法求无向图割点(关节点)入门题
  9. 【转】【RDS教程】专业DBA速成 - CPU优化篇
  10. LINQ系列:Linq to Object分区操作符