我通过gradle找到了解决方案,希望对遇到同样情况的人有所帮助。
在模块的 build.gradle 中添加以下任务和任务依赖项,并替换示例中的实际文件路径,然后重建您的 apk。它应该可以解决问题。
task put_files_in_META_INF {
def resDir = new File(buildDir, 'generated/files_for_META_INF/')
def destDir = new File(resDir, 'META-INF/')
// THIS IS KEY: Add resDir as a resource directory so that it is
// automatically included in the APK
android {
sourceSets {
main.resources {
srcDir resDir
}
}
}
doLast {
destDir.mkdirs()
copy {
into destDir
from <SOURCE_LOCATION_OF_LICENSE_FILE>
}
}
}
// Specify when put_files_in_META_INF should run
project.afterEvaluate {
tasks.findAll { task ->
task.name.startsWith('merge') && task.name.endsWith('Resources')
}.each { t -> t.dependsOn put_files_in_META_INF }
}
Run Code Online (Sandbox Code Playgroud)
参考文献: https ://discuss.gradle.org/t/add- generated-file-to-meta-inf/11831/7