LoginSignup
1
2

More than 1 year has passed since last update.

【Android】Active Build Variantを切り替えたときにエラーが発生した時のまとめ

Posted at

エラーが発生した時の状況

ビルドバリアントが4つ設定されていた。

- freeDebug
- paidDebug
- freeRelease
- paidRelease

freeReleaseを選択した状態で、Run 'ExampleScreenPreview' を実行した。

次のウィンドウが表示された。

名称未設定のデザイン (24).png

Fixをクリックした。

Select Signing Configウィンドウで、debugを選択し、OKをクリックした。
そして、Runをクリックした。

名称未設定のデザイン (26).png

今思い返すと、この操作が今回のエラーを発生させた原因かと思われる。
ここで行うべきだった操作については、こちらの記事でまとめてある。

この操作の後に、Active Build VariantをpaidReleaseに切り替えてみた。

Buildにエラーが表示された。

removeContentEntry: removed content entry url 'file:///Users/takagimeow/AndroidStudioProjects/xxx-xxx-xxx/app/src/freeRelease' still exists after removing

エラーを解決した手順

エラーを解決したというよりか、エラーを発生させなくした手順について紹介する。
もしかしたら、読者の環境によっては参考にならないかもしれないが、あくまで参考程度に読んでほしい。

  • main以外の各ビルドバリアントのパッケージをすべて削除する

    • freeReleaseディレクトリやpaidReleaseディレクトリなどを削除する。
  • .ideaディレクトリを削除する

  • Android Studioのウィンドウを閉じる。そして、再度プロジェクトを開く

  • build.gradleのbuildTypesproductFlavorsの内容を元に戻す

    • buildTypesの内容をプロジェクト作成時と同じreleaseビルドタイプのみにする
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.debug
    }
}
  • Android StudioのSync Project with Gradle Filesをクリックして同期する。

スクリーンショット 2023-01-08 18.56.23.png

  • build.gradleの内容を修正して、もう一度productFlavorsなどを追加する。
flavorDimensions "plan"

productFlavors {
    paid {
        dimension "plan"
    }
    free {
        dimension "plan"
    }
}
  • もう一度、Android StudioのSync Project with Gradle Filesをクリックして同期する。

この手順を実行したあとに、Active Build Variantを切り替えた。

BUILD SUCCESSFULがBuild部分に表示されてエラーは消えた。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2