Есть ли разница в работе приложения между версией выпуска и отладкой? - PullRequest
1 голос
/ 16 января 2020

У меня странная проблема с моим приложением. Я сделал очень простое приложение, чтобы запросить автомобильные запчасти для гаража. Пользователь (автомеханик гаража) помещает нужные ему части в приложение, а компьютер (который находится в другой части гаража) получает заказ и распечатывает его непосредственно на термопринтере. Я отправляю данные через сообщение HTTP, очень просто, я просто отправляю JSON на адрес HTTP.

Проблема заключается в следующем: когда я запускаю отладочную версию (с помощью команды "flutter run" на vscode) он работает отлично, но когда я генерирую apk (через "flutter build apk") приложение запускается, но оно не отправляет сообщение HTTP (сообщений об ошибках нет, приложение просто не отправляет и остается на том же экране навсегда). Я тестировал разные устройства, все они нормально работали с отладочной версией, создавались и устанавливались непосредственно из vscode и не работали с приложением релиза.

Почему это происходит? Поскольку отладка и выпуск apk имеют одинаковый код, не должны работать одинаково? Есть ли способ увидеть журнал (какая-то отладка, я не знаю), на котором запущена релизная версия?

Ответы [ 2 ]

4 голосов
/ 16 января 2020

Эта проблема, скорее всего, связана с разрешениями. Проверьте, имеет ли ваш файл AndroidManifest. xml в главном каталоге Android> app> sr c> следующее разрешение:

<uses-permission android:name="android.permission.INTERNET"/>

Если разрешения нет, добавьте его над полем строка, начинающаяся с <application:

<uses-permission android:name="android.permission.INTERNET"/> // Add here
<application
    android:name="io.flutter.app.FlutterApplication"
0 голосов
/ 16 января 2020

Решение от Joao Soares сработало, но у меня все еще есть вопрос: почему? Это стандартное поведение приложения? Разрешение на использование inte rnet действительно выключено по умолчанию? Я не вижу причины для этого ...

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