Android Studio build.gradle 的一些基本配置

apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.butterknife'  //配置ButterKnife

android {
    compileSdkVersion 28
    buildToolsVersion '28.0.3'
    defaultConfig {
        applicationId "com.android.scanner"
        minSdkVersion 23
        targetSdkVersion 28
        versionCode 2
        versionName "2.3"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        //配置编译生成的apk名称
        setProperty("archivesBaseName","Client_${versionName}")  

    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    
    //JDK的版本号
    compileOptions {
        sourceCompatibility = 1.8
        targetCompatibility = 1.8
    }
   sourceSets { //修改Java文件的路径.  修改资源文件的索引
      main { 
        manifest.srcFile 'src/main/AndroidManifest.xml'
        java.srcDirs('src/main/src','src/main/src_pd','src/main/src_pd_gcam','src/main/src_wrapper')
        res.srcDirs('src/main/res', 'src/main/res-keyguard')
        assets.srcDirs = ['assets']
        jniLibs.srcDirs = ['libs/']
    }
   }
    //签名文件
    signingConfigs {
        debug {
            storeFile file("/signature/platform.jks")
            keyAlias 'demo'
            keyPassword '123456'
            storePassword '123456'
        }

        release {
            storeFile file("/signature/platform.jks")
            keyAlias 'demo'
            keyPassword '123456'
            storePassword '123456'
        }
    }
    ndkVersion = '21.0.6113669'
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'

    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.afollestad.material-dialogs:commons:0.9.4.2'
    implementation 'com.android.support:support-v4:28.1.0'
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.1.1'

    implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
    /**
     * 引入butterknife注解框架
     */
    implementation 'com.jakewharton:butterknife:10.2.0'
    annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'

    //引用系统jar包
    implementation project(':serialport')

    //引入Android源码编译生成的Framework jar包文件
    compileOnly files('libs/framework.jar')
}

编译framework时候,出现编译错误的修改:主要是根目录下的Build.gradle 中的

buildscript {

    repositories {
       
        //引入Ali库文件
        maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/google' }
        maven { url 'http://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }

        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.2'
        //导入ButterKnife 的Plugin
        classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}
allprojects {
    repositories {
        google()
        jcenter()
        
    }

    //编译framework.jar包
    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << '-Xbootclasspath/p:app/libs/framework.jar'
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

猜你喜欢

转载自blog.csdn.net/liuminx/article/details/106466361