AAR工件没有构建变体后缀

问题描述 投票:2回答:1

这是一个很奇怪的问题,因为它不是默认行为,所以我一直在head头一天。

我有一个AAR项目和模块。这是另一个项目的简化复制和粘贴。默认情况下,Android Studio将输出文件名模块-build_variant。aar

的AAR文件

但是,当我构建这个时,它是module。aar。很奇怪。

为了进行记录,我尝试过搜索问题,从命令行构建,遍历build.gradle文件。 Nada。

我希望这个项目像其他项目一样构建,并已正确命名AAR文件。

Project build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    apply from: '../sharedConf/versions.gradle'
    addRepos(repositories)
    dependencies {
        classpath deps.android_gradle_plugin
        classpath deps.kotlin_plugin
    }
}

allprojects {
    addRepos(repositories)
}

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

module build.gradle

// Import shared gradle settings
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

android {

    // Every shared preference among the Android projects
    def versionPropsFile = file('../../sharedConf/versions.gradle')
    if (!versionPropsFile.canRead()) {
        throw new GradleException('versions.gradle doesnt exist')
    }


    compileSdkVersion build_versions.target_sdk
    buildToolsVersion build_versions.build_tools

    // The version of the product. Generated by the build.py script
    String version = build_versions.version_name
    if (project.hasProperty("ms_version")) {
        version = "$ms_version"
    }


    defaultConfig {
        minSdkVersion build_versions.min_sdk
        targetSdkVersion build_versions.target_sdk

        versionName version.trim()
        versionCode build_versions.version_code
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    lintOptions {
        abortOnError true
    }

    signingConfigs {
        release {
            <SNIP>
        }
    }

    sourceSets {
        main.java.srcDirs += '../../***/***/src/main/java'
        main.java.srcDirs += '../../Infra/infra/src/main/java'
    }

    buildTypes {
        release {
            signingConfig signingConfigs.release
            minifyEnabled true
            debuggable false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled true
            debuggable true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

        }
    }
}

dependencies {
    implementation deps.kotlin_stdlib

    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
    implementation 'androidx.appcompat:appcompat:1.0.2'

    implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0-alpha01'
    implementation 'androidx.preference:preference:1.1.0-alpha04'
    implementation 'com.google.android.material:material:1.1.0-alpha04'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

    // OK_HTTP_3
    implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.8.1'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.12.1'
}

versions.gradle

def versions = [:]
versions.android_gradle_plugin = "3.3.2"
versions.kotlin = "1.3.21"

def build_versions = [:]
build_versions.version_name = "7.0"
build_versions.version_code = 7

build_versions.min_sdk = 16
build_versions.target_sdk = 29
build_versions.build_tools = "29.0.2"
ext.build_versions = build_versions

def deps = [:]
deps.android_gradle_plugin = "com.android.tools.build:gradle:$versions.android_gradle_plugin"
deps.kotlin_plugin = "org.jetbrains.kotlin:kotlin-gradle-plugin:$versions.kotlin"
deps.kotlin_stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$versions.kotlin"
ext.deps = deps

def addRepos(RepositoryHandler handler) {
    handler.google()
    handler.jcenter()
    handler.mavenCentral()
    handler.flatDir {
        dirs 'libs'
    }
}
ext.addRepos = this.&addRepos

[如果我不得不猜测,在某些情况下,AS会构建一个AAR。也许它正在合并构建变体(尝试Debug minified = false)或类似的东西。

android gradle aar
1个回答
0
投票

原因是gradle-wrapper.properties中的版本不正确。

在该项目中为5.4.1。恢复为4.10.1后,它会正确生成。

请注意,我在这里以最宽松,最不准确的方式使用不正确。我没有收到错误或通知。功能只是改变了。您可能会发现gradle和gradle插件不匹配会破坏构建。

© www.soinside.com 2019 - 2024. All rights reserved.