gpt4 book ai didi

java - 使用一个 APK 更改为两个环境

转载 作者:行者123 更新时间:2023-12-02 12:07:19 25 4
gpt4 key购买 nike

我们正在开发Android应用程序,有两个不同的环境需要我们分别指出。可以说它是暂存和生产,但由于合规性要求,我们需要提供一个 apk 文件,并且应该有一种方法来更改环境当需要时,他们可以确保他们在登台测试时使用相同的文件进行生产。

我们将 url 详细信息保存在 string.xml 中,通常我们会提供两个指向两个不同环境的 apk。

所以我们只是想知道是否有任何工具或任何其他方法可以更改 apk 内的 string.xml 值。这样他们就可以使用该工具需要时更改网址。

最佳答案

使用这种方式来分隔url,

buildTypes {
debug {
buildConfigField "Boolean", "IS_DEBUG", 'true'
buildConfigField "String", "URL", 'https://appsgit.com/debugurl'
}

release {
buildConfigField "Boolean", "IS_DEBUG", 'false'
buildConfigField "String", "URL", 'https://appsgit.com/releaseurl'
}

}

请检查此blog post了解更多信息..

如果此解决方案不起作用。您可以尝试Gradle BuildFlavor

添加 ProductFlavor,如下所示(免费和付费)。

productFlavors {
free {
applicationId "com.appsgit.freeapp"
buildConfigField 'boolean', 'IS_PAID', 'false'
buildConfigField 'boolean', 'URL', 'http://freeversion.com'
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace("app-release.apk", "app-free-" + defaultConfig.versionName + ".apk"))
}
}
}

paid {
applicationId "com.appsgit.paidapp"
buildConfigField 'boolean', 'IS_PAID', 'true'
buildConfigField 'boolean', 'URL', 'https://paidversion.com'
versionCode 1
versionName "1.0"
applicationVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace("app-release.apk", "app-paid-" + defaultConfig.versionName + ".apk"))
}
}
}

}

并像这里一样创建代码库,

enter image description here

不要忘记Main是所有风格共享的。

关于java - 使用一个 APK 更改为两个环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46806178/

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