Intellij Idea 2018.2.5 CE проблема разработки Android, android sdk v28 нестабильна / проблема рендеринга - PullRequest
0 голосов
/ 14 ноября 2018

Прежде всего, я много исследовал, и этот вопрос не является дубликатом Проблема рендеринга в Android Studio ее ответ не решает мою проблему (у меня уже есть та же конфигурация, которая есть в его ответе) , Во-вторых, я попытался очистить проект, перестроить проект, запустив синхронизацию gradle. Проблема все еще сохраняется.

После запуска нового проекта я использовал для загрузки шаблона базовое действие, но XML-файлы макета на самом деле не отображаются.

Ошибка: Он говорит Failed to instantiate one or more classes внутри, что я вижу

The following classes could not be instantiated:
    - android.support.design.widget.CoordinatorLayout (Open Class, Show Exception, Clear Cache)
    - android.support.design.widget.AppBarLayout (Open Class, Show Exception, Clear Cache)
Tip: Use View.isInEditMode() in your custom views to skip code or show sample data when shown in the IDE.
If this is an unexpected error you can also try to build the project, then manually refresh the layout.
Exception Details
java.lang.ClassNotFoundException: android.view.View$OnUnhandledKeyEventListener
Copy stack to clipboard

Мой файл styles.xml:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="coordinatorLayoutStyle">@style/Widget.Support.CoordinatorLayout</item>
        <item name="floatingActionButtonStyle">@style/Widget.Design.FloatingActionButton</item>
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
    </style>
    <style name="AppTheme.NoActionBar">
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar"/>
    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light"/>

</resources>

Мой gradle использует эту зависимость: и версия sdk для компиляции и назначения - 28

implementation 'com.android.support:appcompat-v7:28.0.0'

Прямо сейчас это выглядит так:

enter image description here

РЕДАКТИРОВАТЬ 1: Так что теперь на этом этапе я попробовал много вещей и обнаружил, что проблема рендеринга есть только в SdkVersion 28. Когда я использую

android {
    compileSdkVersion 27
    defaultConfig {
        targetSdkVersion 27
        ...
    }
    ...
}

dependencies {
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:design:27.1.1'
    ...
}

Похоже, что нет, поэтому я хочу выяснить, что не так с SDK версии 28? Я имею в виду, что всякий раз, когда вы делаете проект, вы получаете конфигурацию по умолчанию для версии 28, и когда я пробую этот фрагмент кода выше, я все равно получаю предупреждение, что v27 старше, почему? если v28 недостаточно стабильный, то почему он используется по умолчанию? Я не понимаю, я хочу получить полезный ответ, почему это так!

Спасибо всем, кто нашел время, чтобы прочитать мой вопрос.

1 Ответ

0 голосов
/ 21 ноября 2018

Прежде чем приступить к ответу, убедитесь, что у вас установлена ​​последняя версия Android Studio. Он обрабатывает API v28 гораздо лучше. Это обновление само по себе может решить вашу проблему, но если это не так, читайте ниже:

AndroidX

Попробуйте перейти на AndroidX . В последней версии Android Studio 3.2 имеется функция «Refactor to AndroidX» в меню «Refactor», которая упрощает весь процесс.

AndroidX по сути переименовывает все пакеты в Google, чтобы сделать именование более понятным. Более подробную информацию об этом можно найти здесь и здесь .


Я знаю, что это не прямой ответ на ваш вопрос, но я уверен, что он решит его. Существует множество ошибок и других раздражающих ошибок, которые выдает Android Studio, и я не вижу никаких других IDE - я имею в виду те, которые не имеют четкого представления о том, что пошло не так.

Я верю, что AndroidX Google каким-то образом решит эту проблему. Это определенно делает некоторые вещи более ясными и легкими, и я рекомендую перейти на него, чтобы решить вашу проблему и для хорошей практики.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...