gpt4 book ai didi

Android gradle 在合并时更改资源

转载 作者:行者123 更新时间:2023-11-29 02:35:53 25 4
gpt4 key购买 nike

我有一个 json 配置文件,我把它放在 res/raw 文件夹中。以前我有一个 gradle 脚本,可以在必要时更新文件内容。

def fetchMeta(buildVariant) {
def flavor = buildVariant.productFlavors.get(0).name
def buildType = buildVariant.buildType.name
def middleMetaFolder = "${buildDir}/intermediates/meta/${flavor}"
def pathToMiddleMeta = "${middleMetaFolder}/latest.json"
def rawFolder = "${buildDir}/intermediates/res/merged/${buildVariant.dirName}/raw/"

def f = new File(pathToMiddleMeta)
boolean doDownload = (!f.exists()) || (f.lastModified() < (System.currentTimeMillis() - 86400000))
// Force on production release
if (doDownload || (flavor == "production" && buildType == "release")) {
new File(middleMetaFolder).mkdirs()

def serverAddress = "https://example.com"
String srcUrl = serverAddress + "/latest.json"
println "Downloading Meta from: " + srcUrl + " to " + pathToMiddleMeta
new URL(srcUrl).withInputStream { i -> f.withOutputStream { it << i } }
} else {
println "Skipping Meta as it exists here: " + pathToMiddleMeta
}

copy {
from pathToMiddleMeta
into rawFolder
}
}
android.applicationVariants.all { variant ->
variant.mergeResources.doLast {
fetchMeta(variant)
}
}

但是从 android gradle plugin 3.0 开始,合并策略发生了变化,文件的扩展名是平面的。进行这些更改后如何更新我的文件的内容?

最佳答案

有同样的问题,从 aapt 更新到 aapt2

问题已经在 google issue-tracker 分配 https://issuetracker.google.com/issues/65220623

作为解决方法,您现在可以在 gradle.properties 中设置 android.enableAapt2=false

关于Android gradle 在合并时更改资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47131275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com