在APK中包括以下划线(_)开头的类加载器资源

时间:2018-10-09 11:00:47

标签: android android-gradle apk

我有一个读取Classloader资源properties/_message.properties的库,虽然类似

this.getClass()
    .getClassLoader()
    .getResourceAsStream(
        "properties/_message.properties")

在较旧(基于Maven的版本)的Android构建管道中,此方法工作正常,但不适用于当前的Gradle工具。

我曾尝试将文件作为资源包含在我的项目中,但是仅当它不以下划线开头时,它才包含在APK中:

如果我有两个文件src/main/resources/properties/message.propertiessrc/main/resources/properties/_message.properties

build.gradle

sourceSets {
    main {
        resources.srcDirs = ['src/main/resources']
    }
}

如果我构建APK,则其中包含properties/message.properties,而不包含properties/_message.properties。前一个文件也可以作为类加载器资源进行访问。

1 个答案:

答案 0 :(得分:0)

有一些与此相关的长期存在的错误,它们声称是已修复但尚未修复,或者被标记为WONTFIX。

第一个问题包括一种解决方法,该方法“ [扩展]构建过程,以在调试APK首次组装后将带有下划线开头的父目录的任何资产文件添加到调试APK,然后使用新的APK对其进行签名。文件”

总结:您可以使用解决方法,也可以重命名资源。