Запуск проекта Flutter работал нормально до тех пор, пока не был добавлен вызов ImageIO в java-файле пакета dart ImagePickerPlugin.java. Импорт находится вверху, и щелчок по команде показывает класс в среде IDE, но компиляция не выполняется.
try {
Image image = ImageIO.read(sourceimage);
} catch (IOException e) {
e.printStackTrace();
}
Ошибка компиляции:
Initializing gradle...
Resolving dependencies...
Running 'gradlew assembleDebug'...
/Users/marchampson/.pub-cache/hosted/pub.dartlang.org/image_picker0.3.0/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerPlugin.java:27: error: package javax.imageio does not exist
import javax.imageio.ImageIO;
У кого-нибудь есть проблемы при изменении пакетов дротиков с помощью IntelliJ IDEA? Спасибо
Ах, ладно, упс. Я сделаю это вместо этого. Я полагаю, это наблюдение, а не то, что может исправить мою ошибку? Спасибо
Точно сказать не могу. Я сам еще не разрабатывал плагины, но обычно менять файлы в этом кэше пакетов - плохая идея.
Теперь я это вижу. Я клонировал его и посмотрю, что произойдет. Хорошее место, спасибо за помощь.
Нет, это не решает эту проблему, но это означает, что я могу правильно управлять исходным кодом и, надеюсь, в будущем буду использовать pull-request.




Оказалось, что это не проблема с импортом, более того, ImageIO недоступен на Android. Узнал об этом через:
Библиотека Java не может разрешить в Android Studio 3.1
Пошли другим маршрутом и теперь все работает.
Означает ли это, что вы изменили файл внутри
~/.pub-cache? Вы не должны этого делать. Вам лучше клонировать пакет и добавить этот клон в качестве зависимости к вашему проекту Flutter.