Я новичок в студии Android, но у меня возникла эта ошибка, и я не могу запустить свой проект. Я видел много ответов, в которых предлагается добавить зависимость поддержка-аннотации, но я использую appcompat, поэтому мне это не нужно. Есть предположения?
Почему ваш класс Java находится в пакете android.os?
@Commons Я думаю, что это исходный код AsyncTask
да, это исходный код AsyncTask
Поскольку это не ваш класс и не является частью того, что компилируется в вашем проекте, почему вы думаете, что именно поэтому вы не можете запустить свой проект? Какие у Вас симптомы?
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference это основная причина. Но я думал, что оба как-то связаны?
Скорее всего, нет. Вы можете подумать о том, чтобы задать отдельный вопрос о переполнении стека, где вы публикуете минимальный воспроизводимый пример - полную трассировку стека Java и ваш код, на который ссылается эта трассировка стека.
У вас есть библиотека поддержки Android?
Для этого добавьте это в свой файл build.gradle модуля «app»:
dependencies {
...
implementation "com.android.support:support-annotations:27.1.0"
}
Затем синхронизируйте проект.
Иногда вы можете сделать это автоматически, нажав Alt + Enter над сообщением об ошибке и выбрав решение.
если вы используете библиотеку поддержки, импорт должен упоминать их: import android.support.annotation.Nullable
Используйте Alt + Пробел, чтобы показать предложения (после точки) возможного импорта.
Вам нужно получить библиотеки, которые содержат импорт, в вашем файле gradle сборки вашего модуля добавьте строку внутри тега зависимостей:
api 'com.android.support:support-annotations:X.X.X'
или же
implementation 'com.android.support:support-annotations:X.X.X'
Где X.X.X - это версия остальных ваших библиотек поддержки.
Вам следует прочитать эта статья, в котором более подробно объясняется, как это реализовать.
Appcompat не включает зависимость аннотаций