【问题标题】:How to include files in META-INF folder in aar file in Android gradle?如何在 Android gradle 的 aar 文件中包含 META-INF 文件夹中的文件?
【发布时间】:2023-01-11 17:12:04
【问题描述】:

我们想在 aar 文件的 META-INF 文件夹下包含第三方许可文件和 pom 文件。我们尝试了以下方法并在“资源”下创建了一个文件夹“META-INF”文件夹

    packagingOptions {
        resources {
            pickFirsts.add("META-INF/test.txt") // Just a test file to see if we can include
            merges.add("META-INF/test.txt")
        }
    }

但是aar文件的文件夹结构还是这样,META-INF文件夹下没有添加文件

以下是我们的 build.gradle 文件的全部内容

plugins {
    id 'com.android.library'
    id 'kotlin-android'
    id 'org.jetbrains.dokka'
    id 'maven-publish'
}

apply from: '../jacoco.gradle'

android {
    compileSdkVersion 30

    defaultConfig {
        minSdkVersion 26
        targetSdkVersion 29
        testInstrumentationRunner "androidx.est.runner.AndroidJUnitRunner"
        buildConfigField 'String', "VERSION_NAME", '"1.0.0.0"'
        buildConfigField 'int', "VERSION_CODE", '1'
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    testOptions {
        unitTests {
            includeAndroidResources = true
        }
    }
    packagingOptions {
        resources {
            pickFirsts.add("META-INF/test.txt")
            merges.add("META-INF/test.txt")
        }
    }
}
android.libraryVariants.all { variant ->
    variant.outputs.all { variantOutput -> outputFileName = "file.aar" }
}
dependencies {
...
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            pom {
                ...
            }
        }
    }
}

谁能请教我们应该如何实现这一目标? 提前致谢!

【问题讨论】:

    标签: android gradle aar


    【解决方案1】:
    packagingOptions {
        merges.add("META-INF/test.txt")
        // or
        //merge "META-INF/test.txt"
    }
    

    META-INF/test.txt 将在 classes.jar 中找到,AGP v3.3.0

    【讨论】:

      猜你喜欢
      • 2010-11-20
      • 2013-07-06
      • 2016-12-14
      • 1970-01-01
      • 1970-01-01
      • 2016-12-13
      • 2021-11-24
      • 1970-01-01
      • 2020-11-03
      相关资源
      最近更新 更多