在 AndroidStudio 3.0+ 中批量更改构建变体

Mat*_*Dev 17 android-studio android-studio-3.0

快速历史:

  • 我正在使用 AndroidStudio 3.0
  • 我的项目有 100 多个模块(多个应用程序和库)。
  • 它们都具有相同的风味尺寸和风味。

现在的问题是:如何在不单独更改每个应用程序的情况下,在 AndroidStudio 3.0+ 中批量更改所有模块的风格?

Seb*_* LG 10

Android Studio 中有两个设置可以在选择应用程序变体时立即切换所有变体。

设置为“仅同步活动变体”和“在 Gradle 同步期间不构建 Gradle 任务列表”。两者都需要禁用,然后我重新启动 Android Studio 一次和 Gradle 同步。

安卓工作室设置

禁用屏幕截图中的设置后,我从每个动态功能模块(我的项目中为 10 个)切换和等待约 10 秒变为在 <5 秒内进行一次切换。

注意:这是在 Android Studio 4.0.1 中测试的


Nil*_*zor 8

我构建了构建变体矩阵选择器,无论如何,我相信它比上面提到的“..快速选择器”使用起来更快。没有重复的下拉菜单,没有麻烦。只需从矩阵中的单选按钮选择变体即可。

在此输入图像描述

  • 不适用于长颈鹿 | 2022.3.1 测试版 2 - https://github.com/Nilzor/build-variant-matrix/issues/10 (2认同)

Mar*_*ten 7

这是我最近结束的工作:

  • 关闭 Android Studio

  • 打开终端

  • cd 到项目的基本目录

  • 替换所有文件中所有出现的<option name="SELECTED_BUILD_VARIANT" value="debug" />with<option name="SELECTED_BUILD_VARIANT" value="release" />或反之亦然iml。这是将所有模块更改为的单行代码release

      find . -name \*.iml | xargs perl -pi -e 's/<option\s+name="SELECTED_BUILD_VARIANT"\s+value="[^"]+"/<option name="SELECTED_BUILD_VARIANT" value="release"/'
    
    Run Code Online (Sandbox Code Playgroud)
  • 改回debug运行:

      find . -name \*.iml | xargs perl -pi -e 's/<option\s+name="SELECTED_BUILD_VARIANT"\s+value="[^"]+"/<option name="SELECTED_BUILD_VARIANT" value="debug"/'
    
    Run Code Online (Sandbox Code Playgroud)
  • 再次打开 Android Studio 并进行 gradle 同步

  • 现在应该替换所有模块的构建变体

当然,这种方法对 xml 文件的格式进行了假设,这使得它有点脆弱。到目前为止,它似乎运行良好。