前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

Android:ComposeのDeploy PreviewでPreviewActivity is not an Activity subclass or aliasになる

課題

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. ビルドコンフィグダイアログを開き、失敗しているコンフィグを削除する

f:id:takeR:20210816224655p:plain
作成済みの失敗ビルドがあるともう成功しないのでconfigを削除する

2. Designタブから Deploy Preview する

f:id:takeR:20210816234456p:plain
こっちのスマホアイコンf:id:takeR:20210816225515p:plainをクリック

f:id:takeR:20210816224608p:plain
こっちのアイコンf:id:takeR:20210816225515p:plainはNG

感想

なんか知らないけどこうしたら上手く動いた系。
Android Studioのバグだと思うのでいずれ修正されるはず。
すべての開発環境がこれで解決するわけではないかもしれないけど、
さっきまで上手くいってたのに、同じ問題に遭遇してなぜかデプロイできなくなった方はこちらを試してみると良いかと。