博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于androidstudio3.0的build文件配置问题
阅读量:5352 次
发布时间:2019-06-15

本文共 3723 字,大约阅读时间需要 12 分钟。

最近,在研究APP自动化相关的东西,在搭建环境的时候,遇到的坑以及最后解决的方法,不过目前很多东西了解得还不是很细,暂时先简单的记录一下

一、build配置文件

主要分为两种:

1、工程下的build配置文件;

2、模块目录的build配置文件;如下图:

1)工程下的build文件配置,主要包括以下内容:

1、repositories闭包
  该闭包中声明了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}

 

 
2)模块目录下的build文件配置,主要包括以下内容:
1、 defaultConfig闭包
  
对项目的更多细节进行配置,其中applicationId指定了项目的包名,我们可以通过修改这个值来修改项目的包名。
2、 buildTypes闭包
  
这个闭包主要指定生成安装文件的主要配置,一般包含两个子闭包,一个是debug闭包,用于指定生成测试版安装文件的配置,可以忽略不写;另一个是release闭包,用于指定生成正式版安装文件的配置。
3、dependencies闭包
  该闭包定义了项目的依赖关系,一般项目都有三种依赖方式:本地依赖、库依赖和远程依赖。本地依赖可以对本地的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:+'}

还有一些其他的设置问题,后续再做更新;

 
 
 
 
 

转载于:https://www.cnblogs.com/JHblogs/p/8485072.html

你可能感兴趣的文章
Swift迎来了1.0 GM 版(2014.09.09)
查看>>
【iOS开发-68】APP下载案例:利用tableView自带的cell布局+缓存池cell复用时注意button状态的检查...
查看>>
《Genesis-3D开源游戏引擎-FQA常见问题解答》2014年01月10号版本
查看>>
Java 编程下实现随机无重复数字功能
查看>>
Android 编程下的代码混淆
查看>>
animation属性
查看>>
页内的模块和组件抽象规划经验
查看>>
安全-分析深圳电信的新型HTTP劫持方式
查看>>
将Centos的yum源更换为国内的阿里云源
查看>>
git diff 的用法
查看>>
ajax 跨域问题
查看>>
站立会议第一天(11月15日)
查看>>
sql创建临时表并且插入数据
查看>>
我对技术的理解
查看>>
每日bing API
查看>>
JAVA命名规范
查看>>
【Thinkphp学习】TP3.2.3在PHP5.5环境下运行非常慢
查看>>
Navicat for MySQL连接MYSQL出错,错误代码1045的解决方法
查看>>
.NET WEB程序员需要掌握的技能
查看>>
linux shell脚本
查看>>