将文件自动添加到Android .apk中的META-INF文件夹中

Gio*_*gio 6 eclipse ant android jersey apk

我设法将泽西岛移植到Android(泽西 - 安卓)

Jersey需要某些配置文件存在于META-INF/services文件夹中.到目前为止,我手动将services文件夹复制到生成的apk的META-INF文件夹中.

有没有办法指示Eclipse,ADT或ANT复制apk中META-INF文件夹中的services文件夹?

Sha*_*law 1

我通过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