0
0

More than 3 years have passed since last update.

Project needs to be cconverted to androidx.* dependencies が出て module が追加できないときの workaround

Posted at

はじめに

まだ AndroidX に移行できていない Android の project で、Android Studio (恐らく 3.5 以降)でモジュールを新規追加しようとしたときに、 Project needs to be cconverted to androidx.* dependencies が表示されて module が追加できないケースに遭遇しました。
スクリーンショット 2019-11-24 6.47.16.png

AndroidX 対応を推奨しますが、取り急ぎ module を追加できるようにする workaround があったので紹介します。

Workaround

  1. gradle.propertiesandroid.useAndroidX=true を一旦追加する。
  2. Android Studio で module を追加する(追加できる) スクリーンショット 2019-11-24 6.52.52.png
  3. 1. で追加した android.useAndroidX=true を差し戻す
  4. 追加した module の AndroidX 依存をなくす

です。

4. 追加した module の AndroidX 依存をなくす

について、補足します。

project 全体が AndroidX 対応していないにも関わらず、 android.useAndroidX=true により AndroidX 対応しているかのように見せかけて module を追加したので、追加された module は AndroidX に対応しています。
しかしながら、project 全体は AndroidX 対応していないので、不整合が発生してしまいます。

例えば、 testInstrumentationRunner が既存 module だと android.support.test.runner.AndroidJUnitRunner なのに、追加された module はandroidx.test.runner.AndroidJUnitRunner だったりします。

このような点を既存 module に揃えることで、 Project needs to be cconverted to androidx.* dependencies が出て module が追加できない問題は回避することが可能です。

さいごに

AndroidX に移行しましょう。

0
0
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
0
0