Когда я следую подходу hello-world при создании плагина Flutter и добавлении его в другой проект hello-world Flutter, все происходит сбой всякий раз, когда я пытаюсь добавить зависимость плагина (локальную с path:
или удаленную с * 1002).*.
Мои шаги:
- Я создаю новый проект Flutter, выполняя в терминале следующее:
flutter create hello_world_app
Я добавляю большой ресурс (> 665 МБ) в мое приложение hello_world_app, так как он мне понадобится в моем приложении.
Я создаю и запускаю приложение-прототип, используя свой большойактив внутри hello_world_app.Он работает без проблем.
Я создал плагин, используя следующую команду терминала:
Я создаю плагин Flutter, пишущий внутри терминала:
flutter create --org com.mycomp --template=plugin -i swift large_file_copy
Я делаю небольшие изменения во вновь созданном плагине.Я могу запустить только что созданный плагин "large_file_copy" в обоих мирах (iOS и Android).Я запускаю его из папки с примером плагина.Все работает хорошо.
Я делаю git-репо из плагина и фиксирую все изменения и отправляю его в публичный git-репо.
Но теперь, когда все идет не так, как надо:
Я пытаюсь добавить плагин к зависимостям моего проекта hello-world, выполняя следующие действия:
Внутри pubspec.yaml
моего "hello_world_app"
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^0.1.2
large_file_copy:
git:
url: https://github.com/XXXXX/large_file_copy.git
Выходной терминал говорит:
Running "flutter packages get" in my_app... 0.6s
exit code 0
Затем я пытаюсь запустить свой проект.И в этот момент приложение вылетает.
ПОЧЕМУ ДОБАВЛЕНИЕ ПЛАГИНА ЗАВИСИТ ОТ МОЕГО ПРОЕКТА FLUTTER CRASH ??
Фактически, я даже могу импортировать пакет плагинов в свой код флаттера и вызватьметод плагинов.Компилятор не жалуется в этот момент.Но как только я пытаюсь собрать и запустить, вот когда приложение вылетает ...
Что не так в вышеописанном подходе ??
Как правильно установить зависимость плагина ??
Вот два журнала сообщений об ошибках (один для iOS и один для мира Android).Опять же, это происходит, как только зависимость плагина добавляется в файл pubspec.yaml ....
Журнал сообщений об ошибках для iOS:
2018-12-23 14:32:52.179 xcodebuild[56661:1181076] [MT] PluginLoading: Required plug-in compatibility UUID D76765677-CB11-4D25-A34B-E33DB5A7C231 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/KZLinkedConsole.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2018-12-23 14:32:52.179 xcodebuild[56661:1181076] [MT] PluginLoading: Required plug-in compatibility UUID D76765677-CB11-4D25-A34B-E33DB5A7C231 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/ColorSenseRainbow.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2018-12-23 14:32:52.179 xcodebuild[56661:1181076] [MT] PluginLoading: Required plug-in compatibility UUID D76765677-CB11-4D25-A34B-E33DB5A7C231 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/BBUDebuggerTuckAway.xcplugin' not present in DVTPlugInCompatibilityUUIDs
2018-12-23 14:32:52.180 xcodebuild[56661:1181076] [MT] PluginLoading: Required plug-in compatibility UUID D76765677-CB11-4D25-A34B-E33DB5A7C231 for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
** BUILD FAILED **
Xcode's output:
↳
=== BUILD TARGET sqflite OF PROJECT Pods WITH CONFIGURATION Debug ===
/Users/user/Documents/flutter/.pub-cache/git/large_file_copy-5cc22b5c6d2345ba1ab23a44324b222c68d24ab4/ios/Classes/MyPluginName.m:2:9: fatal error: 'large_file_copy/large_file_copy-Swift.h' file not found
#import < large_file_copy/large_file_copy-Swift.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
Could not build the application for the simulator.
Error launching application on iPhone XS.
Exited (sigterm)
.Журнал сообщений об ошибках для Android:
Launching lib/main.dart on Android SDK built for x86 in debug mode...
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:packageDebug'.
> Failed to obtain compression information for entry
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 12s
Gradle task assembleDebug failed with exit code 1
Exited (sigterm)