Flutter url_launcher не запускает url в режиме выпуска

По какой-то причине я не знаю url_launcher (https://pub.dev/packages/url_launcher) не работает после загрузки приложения из Google PlayStore. В режиме отладки он работает так, как должен. Но после загрузки приложения в игровой магазин и его загрузки оттуда программа запуска URL не запускает ни один URL. Это почему?

import 'package:url_launcher/url_launcher.dart';

 onTap: () {
  launchURL("https://www.google.com");
},
..............
  launchURL(String url) async {
    if (await canLaunch(url)) {
      await launch(url);
    } else {
      throw 'Could not launch $url';
    }
  }

pubspec.yaml url_launcher: ^5.7.6

Я также добавил android.permission.INTERNET

Я не использую последнюю версию url_launcher, поэтому, возможно, последняя версия решит проблему, НО проблема в том, что последней версии url_launcher требуется последняя версия flutter. Безопасно ли обновлять версию флаттера? Я не могу рисковать, что вызовет дополнительные проблемы, так как мое приложение уже находится в разработке.

Это то, что я получаю, когда пытаюсь перейти на url_launcher: ^5.7.10, которая является последней версией, и запускаю flutter pub get

[xxxxx] flutter pub get
Running "flutter pub get" in xxxxx...                       
The current Flutter SDK version is 1.22.0-9.0.pre.

Because url_launcher >=5.7.7 <6.0.0-nullsafety depends on url_launcher_platform_interface >=1.0.9 <2.0.0-nullsafety which requires Flutter SDK version >=1.22.0 <2.0.0, url_launcher >=5.7.7 <6.0.0-nullsafety is forbidden.

So, because xxxxx depends on url_launcher ^5.7.10, version solving failed.
pub get failed (1; So, because storeifie depends on url_launcher ^5.7.10, version solving failed.)
exit code 1

person Faizan Kamal    schedule 25.01.2021    source источник


Ответы (2)


Прежде всего, вы находитесь на dev-канале flutter (1.22.0-9.0.pre - это dev-версия, выпущенная 9.02.2020). Поскольку ваше приложение находится в разработке, измените канал на стабильный, поскольку в нем нет критических ошибок.

flutter channel stable

а затем сделать флаттер-апгрейд.

 flutter upgrade

Теперь попробуйте обновить пакет url_launcher до последней версии. Он должен работать.

PS: Не беспокойтесь об обновлении флаттера, если вы обновляетесь в стабильной ветке. всегда рекомендуется использовать последнюю версию.

person imgkl    schedule 25.01.2021
comment
Хорошо, я сделаю это. Пожелай мне удачи. Я дам вам знать о результате - person Faizan Kamal; 25.01.2021
comment
Конечно, дайте мне знать, если у вас возникнут проблемы. - person imgkl; 25.01.2021
comment
После обновления версии flutter и url launcher все работает нормально в режиме отладки. Как запустить приложение в режиме релиза? Я хочу протестировать приложение, прежде чем загружать его в Google PlayStore. - person Faizan Kamal; 25.01.2021
comment
flutter build apk - отпустите или проверьте принятый ответ на этот вопрос stackoverflow.com/questions/51000869/ - person imgkl; 25.01.2021
comment
Предложенное решение сработало для вас? - person imgkl; 26.01.2021
comment
Да, это сработало. Большое спасибо. Я забыл принять ответ. Спасибо за напоминание. - person Faizan Kamal; 27.01.2021

У меня были те же проблемы с Android 11 (уровень API 30) - все работало хорошо до обновления программного обеспечения (и на моем тестовом устройстве, на котором установлена ​​более ранняя версия). Следующее, похоже, привело меня на правильный путь https://developer.android.com/training/basics/intents/package-visibility#all-apps

Я решил свою проблему, добавив следующее в AndroidManifest.xml (хотя это может быть необязательно).

<activity android:name="io.flutter.plugins.urllauncher.WebViewActivity"
           android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
           android:exported="false"/>

Само по себе это не сработало, и затем я добавил к строкам чуть ниже ‹manifest ... package = com.example.app:

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
person Gert Steenkamp    schedule 23.03.2021
comment
Большое спасибо! Добавление разрешения работало только хорошо, была та же проблема с уровнем API 30. - person Fellow7000; 05.04.2021
comment
Добавление разрешения тоже сработало для меня, однако мне пришлось удалить и повторно установить приложение. Flutter clean не перестраивался с явными изменениями. - person Ali Akber; 29.04.2021
comment
Это сработало для меня. Спасибо. :) - person Andrej; 11.05.2021
comment
Спасибо и от меня. Вы сэкономили мне время. - person Aquarius_Girl; 14.07.2021