Это случилось со мной только когда я обновился до 1.0.0-rc01. он говорит:

Не удалось найти следующие классы: - androidx.compose.ui.tooling.preview.ComposeViewAdapter (Fix Build Path, Edit XML, Create Class)

enter image description here

Мой код:

@Composable
@Preview
fun CenterProgress(){
    Box(
        modifier= Modifier.fillMaxSize(),
        contentAlignment = Alignment.Center
    ){
        CircularProgressIndicator(strokeWidth = 3.dp)
    }
}
55
Karim Sinouh 2 Июл 2021 в 14:24

3 ответа

Лучший ответ

Они разделили некоторые пакеты в rc01, но, согласно комментарию @CommonsWare (все заслуги ему), кажется, что проблема с самой версией Android Studio. У вас есть 2 варианта:

  1. Перейти на beta09, пока не выйдет AS ArticFox RC1
  2. Попробуйте предложенный обходной путь: используйте AS Arctic Fox Beta 5, оставив все зависимости компоновки до версии 1.0.0-rc01 и понизив только ui-tooling до 1.0.0-beta09 (подтверждено комментариями).

Дополнительная информация

Здесь вы можете найти все классы, в которые они переместили 1.0.0-rc01 https://android-review.googlesource.com/c/platform/frameworks/support/+/1739498 и объяснение, почему это было решено.

Короче говоря, теперь вы можете сделать это для некоторых конкретных оптимизированных сценариев (что не должно быть случаем по умолчанию):

debugImplementation "androidx.compose.ui:ui-tooling:1.0.0-rc01"
implementation "androidx.compose.ui:ui-tooling-preview:1.0.0-rc01"
37
MatPag 4 Июл 2021 в 11:11

Чтобы люди все еще получали ошибку при понижении версии библиотеки ui-tooling:

Убедитесь, что у вас нет библиотеки, зависящей от ui-tooling: 1.0.0-rc01 Вы можете узнать это, используя ./gradlew app: dependencies в своем терминале студии Android.

В моем случае я использую com.google.accompanist: сопровождать-swiperefresh: 13.0.0, который зависит от ui-tooling: 1.0.0-rc01. Предварительный просмотр работает, когда я перехожу на «сопровождать-swiperefresh»: 12.0.0

3
Kelvin Yip 8 Июл 2021 в 03:01

Я попробовал это, как комментарий выше меня, и на самом деле мне помогло только то, что мне пришлось удалить реализацию:

Ссылка на Artic Fox Beta 5:
https://developer.android.com/studio/preview

Androidx.compose.ui: ui-tooling-preview.
Моя конфигурация набора выглядит следующим образом:

android {

def compose_version = '1.0.0-rc01'


composeOptions {
  kotlinCompilerExtensionVersion "$compose_version"
}

dependencies {
  def compose_version = '1.0.0-rc01'
/**Compose Related*/

    implementation "androidx.compose.compiler:compiler:$compose_version"
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation "androidx.activity:activity-compose:1.3.0-rc01"
    implementation "androidx.compose.material:material:$compose_version"

    implementation "androidx.compose.ui:ui-tooling:1.0.0-beta09"
//    Need to comment this two lines to work on artic fox
//    implementation "androidx.compose.ui:ui-tooling:$compose_version"
//    implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
    /**Accompanist*/
    // Coil
    implementation 'dev.chrisbanes.accompanist:accompanist-insets:0.6.2'
    implementation "com.google.accompanist:accompanist-coil:0.13.0"
    implementation "androidx.compose.runtime:runtime:$compose_version"
    implementation "androidx.compose.runtime:runtime-livedata:$compose_version"

    /** Material Icons */
    implementation "androidx.compose.material:material-icons-extended:$compose_version"


    // Jetpack Compose Integration
    implementation "androidx.navigation:navigation-compose:2.4.0-alpha04"
}

}
0
Augusto Alonso 8 Июл 2021 в 00:57