基於androidstudio3.0的build文件配置問題
阿新 • • 發佈:2018-02-28
包括 pes 工程 appcompat top cat ble releases bug
該閉包中聲明了jcenter()的配置,其中jcenter是一個代碼托管倉庫,上面托管了很多Android開源項目,在這裏配置了jcenter後我們可以在項目中方便引用jcenter上的開源項目。
2、dependencies閉包
該閉包使用classpath聲明了一個Gradle插件,由於Gradle並不只是用來構建Android項目,因此此處引入相關插件來構建Android項目,其中‘3.0.1‘為該插件的版本號,可以根據最新的版本號來調整。 具體配置內容如下:
對項目的更多細節進行配置,其中applicationId指定了項目的包名,我們可以通過修改這個值來修改項目的包名。 2、 buildTypes閉包
這個閉包主要指定生成安裝文件的主要配置,一般包含兩個子閉包,一個是debug閉包,用於指定生成測試版安裝文件的配置,可以忽略不寫;另一個是release閉包,用於指定生成正式版安裝文件的配置。 3、dependencies閉包
該閉包定義了項目的依賴關系,一般項目都有三種依賴方式:本地依賴、庫依賴和遠程依賴。本地依賴可以對本地的jar包或目錄添加依賴關系,庫依賴可以對項目中的庫模塊添加依賴關系,遠程依賴可以對jcener庫上的開源項目添加依賴關系。 具體配置內容如下:
最近,在研究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:+‘ }
還有一些其他的設置問題,後續再做更新;
基於androidstudio3.0的build文件配置問題