課題
Jetpack Composeの実装中、Deploy Preview
で端末に特定のComposeをデプロイしようとしたところ、以下のエラーが発生してデプロイできない。
androidx.compose.ui.tooling.PreviewActivity is not an Activity subclass or alias
- ArcticFox 2020.3.1
- Compose 1.0.1
- Android Gradle Plugin 7.0.0 他のバージョンの組み合わせは未確認
調査
あれこれやってみた結果以下のことが分かった。
- ソースコード側にある
Deploy Preview
アイコンをクリックしてデプロイしようとすると失敗する。 - Designタブ上にある
Deploy Preview
アイコンをクリックすると成功する - 先にソースコード側で失敗すると Designタブでも失敗する
- 先にデザインタブで成功すると ソースコード側でも成功する
- Run/Debug Configurationsの設定は関係しない。
対応
1. ビルドコンフィグダイアログを開き、失敗しているコンフィグを削除する
作成済みの失敗ビルドがあるともう成功しないのでconfigを削除する
2. Designタブから Deploy Preview
する
こっちのスマホアイコンをクリック
こっちのアイコンはNG
感想
なんか知らないけどこうしたら上手く動いた系。
Android Studioのバグだと思うのでいずれ修正されるはず。
すべての開発環境がこれで解決するわけではないかもしれないけど、
さっきまで上手くいってたのに、同じ問題に遭遇してなぜかデプロイできなくなった方はこちらを試してみると良いかと。