gpt4 book ai didi

android - 在使用 Gradle 编译期间重命名布局文件

转载 作者:行者123 更新时间:2023-11-30 01:14:58 25 4
gpt4 key购买 nike

我的 Android Studio 项目有两种产品风格 - AB。两者在其资源文件夹中都有一个名为 my_layout.xml 的布局。

我还希望在为 flavor A 构建项目时,在构建 flavor B 时将布局命名为 a_my_layout.xmlb_my_layout.xml。然后从源代码中,我将使用 getResources().getIdentifier("a_my_layout", "layout"...)

动态获取资源 ID

当我在编辑器 (Android studio) 中工作时,我希望布局的名称保留为 my_layout.xml,即我不想在 res/文件夹中为我的布局添加一堆前缀。这对 Gradle 可行吗?

最佳答案

老实说,我不明白你为什么要重命名它们,如果你动态加载资源并不重要,如果你有两种风格的布局,当你加载它们时,它会加载一个特定于您的口味,但这是您的选择:)。

如果您真的想重命名它们,我认为您可以通过创建重命名脚本并将其与预定义的预构建任务链接来实现。

像这样的东西(在应用程序级别 gradle 中):

task renameLayoutsForVariants {
// Do the renaming here with the prefixes
}

task renameFilesBack {
// Rename files back to the initial name
}

afterEvaluate {
android.applicationVariants.all { variant ->
variant.javaCompiler.dependsOn(renameLayouts)
}

renameFilesBack.dependsOn build, deploy

关于从gradle访问资源文件,SO上有很多帖子,你只需要检查一下。

总而言之,100% 是可能的,您只需调整一些 gradle 脚本并将它们链接到一些已定义的任务,这些任务在您构建/运行 android 项目时运行。

关于android - 在使用 Gradle 编译期间重命名布局文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37987934/

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