基于androidstudio3.0的build文件配置问题
最近,在研究APP自动化相关的东西,在搭建环境的时候,遇到的坑以及最后解决的方法,不过目前很多东西了解得还不是很细,暂时先简单的记录一下
一、build配置文件
主要分为两种:
1、工程下的build配置文件;
2、模块目录的build配置文件;如下图:

1)工程下的build文件配置,主要包括以下内容:
该闭包中声明了jcenter()的配置,其中jcenter是一个代码托管仓库,上面托管了很多Android开源项目,在这里配置了jcenter后我们可以在项目中方便引用jcenter上的开源项目。
2、dependencies闭包
该闭包使用classpath声明了一个Gradle插件,由于Gradle并不只是用来构建Android项目,因此此处引入相关插件来构建Android项目,其中'3.0.1'为该插件的版本号,可以根据最新的版本号来调整。
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
//使用maven仓库。android有两个标准的library文件服务器,一个jcenter一个maven。两者毫无关系。
//jcenter有的maven可能没有,反之亦然。
//如果要使用jcenter的话就把mavenCentral()替换成jcenter()
google()
jcenter()
// mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
//mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
//mavenCentral()
//maven { url "http://18.8.10.110:8081/nexus/content/repositories/releases/" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
对项目的更多细节进行配置,其中applicationId指定了项目的包名,我们可以通过修改这个值来修改项目的包名。
这个闭包主要指定生成安装文件的主要配置,一般包含两个子闭包,一个是debug闭包,用于指定生成测试版安装文件的配置,可以忽略不写;另一个是release闭包,用于指定生成正式版安装文件的配置。
该闭包定义了项目的依赖关系,一般项目都有三种依赖方式:本地依赖、库依赖和远程依赖。本地依赖可以对本地的jar包或目录添加依赖关系,库依赖可以对项目中的库模块添加依赖关系,远程依赖可以对jcener库上的开源项目添加依赖关系。
//声明是Android程序
apply plugin: 'com.android.application' android {
//编译sdk的版本,也就是API Level,例如API-23、API-24、API-25等等
compileSdkVersion 26
//build tools的版本,其中包括了打包工具aapt、dx等等。
//这个工具的目录位于你的sdk目录/build-tools/下
buildToolsVersion '26.0.2'
defaultConfig {
//应用包名
applicationId "com.cxq.myapplication"
//最小sdk版本,如果设备小于这个版本或者大于maxSdkVersion(一般不用)将无法安装这个应用
minSdkVersion 26
//目标sdk版本,如果设备等于这个版本那么android平台就不进行兼容性检查,运行效率会高一点
targetSdkVersion 26
//版本更新了几次,第一版应用是1,以后每更新一次加1
versionCode 1
//版本信息,这个会显示给用户,就是用户看到的版本号
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {//release版本的配置
minifyEnabled false //是否进行混淆
//release的Proguard默认为Module下的proguard-rules.pro文件.
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
matchingFallbacks = ['release', 'debug']
}
} } //一些依赖的框架
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
androidTestImplementation 'com.android.support.test:rules:1.0.1'
implementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'
//implementation files('libs/uiautomator.jar')
//implementation 'com.gionee.autotests.common:common-lib:1.0.7'
//implementation 'com.gionee.android.autotests.common:android-common:+'
}
还有一些其他的设置问题,后续再做更新;
基于androidstudio3.0的build文件配置问题的更多相关文章
- Servlet3.0学习总结——基于Servlet3.0的文件上传
Servlet3.0学习总结(三)——基于Servlet3.0的文件上传 在Servlet2.5中,我们要实现文件上传功能时,一般都需要借助第三方开源组件,例如Apache的commons-fileu ...
- SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:1772,但实际为 0:0)。在文件 'D:\Program Files\Microsoft SQL Ser
SQL Server 检测到基于一致性的逻辑 I/O 错误 pageid 不正确(应为 1:1772,但实际为 0:0).在文件 'D:\Program Files\Microsoft SQL Ser ...
- Json-server在Vue 2.0中使用--build文件中没有dev-server文件
跟大佬的视频使用json-server模拟后台数据调用,发现build文件中并没有dev-server.js. 新版的vue-cli取消了dev-server.js和dev-client.js 改 ...
- 编译可在Nexus5上运行的CyanogenMod13.0 ROM(基于Android6.0)
编译可在Nexus5上运行的CyanogenMod13.0 ROM (基于Android6.0) 作者:寻禹@阿里聚安全 前言 下文中无特殊说明时CM代表CyanogenMod的缩写. 下文中说的“设 ...
- Android基于Retrofit2.0 +RxJava 封装的超好用的RetrofitClient工具类(六)
csdn :码小白 原文地址: http://blog.csdn.net/sk719887916/article/details/51958010 RetrofitClient 基于Retrofit2 ...
- PoiDemo【Android将表单数据生成Word文档的方案之二(基于Poi4.0.0)】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 使用Poi实现android中根据模板文件生成Word文档的功能.这里的模板文件是doc文件.如果模板文件是docx文件的话,请阅读 ...
- BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.8.1)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 上一篇集成的是V3.0.7.3版本的SDK<BaiduSpeechDemo[百度语音SDK集成](基于v3.0.7.3)> ...
- 关于windows下基于php7.0.2下编写的第一个扩展
网上的教程是比较多的,但是基于php7+windows的教程非常之少,通过几天的摸索及参考很多资料,终于发现如下可以运行. php7要求使用vc2015,同时安装sdk,我使用的是8.1的window ...
- Cocos2d-x 3.0新引擎文件夹结构
Cocos2d-x 3.0新引擎文件夹结构 2014年4月29日 Cocos2d-x 3.0学习 作为一个Cocos2d-x的菜鸟,我倒是挺愿意关注不同版本号之间的差别,Cocos2d-x 3.0自 ...
随机推荐
- 【Spring Boot&&Spring Cloud系列】Spring Boot配置文件
很多的参数可以配置在application.properties或application.yml文件中 一.BANNER banner.charset=UTF-8 # Banner file enco ...
- [原]git的使用(六)---远程仓库
10.远程仓库 -------------------------------------------------------------------------------------------- ...
- Linux日志五大命令详解
1.who 命令 who 命令查询 utmp 文件并报告当前登录的每个用户.Who 的缺省输出包括用户名.终端类型.登录日期及远程主机.使用该命令,系统管理员可以查看当前系统存在哪些不法用户,从而对其 ...
- [Offer收割]编程练习赛15 A.偶像的条件[贪心]
#1514 : 偶像的条件 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi的学校正面临着废校的大危机.面对学校的危机,小Hi同学们决定从ABC三个班中各挑出一名同 ...
- java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder
java.lang.NoClassDefFoundError: org/jdom/input/SAXBuilder 少导入了jdom.jar包. 下载地址:http://www.jdom.org/do ...
- iOS - 音乐播放器之怎么获取音乐列表
方法一: 这个方法是通过获取到沙盒路径,来得到音乐的路径(使用这个方法需要把音乐放进沙盒) NSFileManager *manager = [NSFileManager defaultManager ...
- 生存分析(survival analysis)
一.生存分析(survival analysis)的定义 生存分析:对一个或多个非负随机变量进行统计推断,研究生存现象和响应时间数据及其统计规律的一门学科. 生存分析:既考虑结果又考虑生存时间的一种统 ...
- Python中常用包——sklearn主要模块和基本使用方法
在从事数据科学的人中,最常用的工具就是R和Python了,每个工具都有其利弊,但是Python在各方面都相对胜出一些,这是因为scikit-learn库实现了很多机器学习算法. 加载数据(Data L ...
- ubuntu查看隐藏文件夹
打开所要查看的文件目录,然后ctrl + h 快捷键可以显示隐藏文件 例如在/home目录下可以看到以下隐藏文件
- SPOJ - DWARFLOG Manipulate Dwarfs 线段树+想法题;
题意:给你2e5个矮人,编号1~N.有2e5个操作:操作1 读取x,y,交换编号为x,y的矮人.操作2 读取AB 判断编号为A,A+1····B的矮人是否连续(不必有序). 题解:首先用pos[i]保 ...