1. 程式人生 > >基於androidstudio3.0的build文件配置問題

基於androidstudio3.0的build文件配置問題

包括 pes 工程 appcompat top cat ble releases bug

最近,在研究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文件配置問題