#dart #flutter #release #androidx
#dart #flutter #выпуск #androidx
Вопрос:
окончательное обновление:
теперь все работает;
хотя раньше я не добавлял разрешение на доступ в Интернет, приложение работало отлично
(обращение к API и все такое), после обновления я должен явно изменить манифест.
На самом деле легко исправить:
manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.xxx"> <uses-permission
android:name="android.permission.INTERNET"/> <application
android:name="io.flutter.app.FlutterApplication" android:label="xxx"
android:icon="@mipmap/ic_launcher"> <activity android:name=".MainActivity"
[...]
если вы тоже сталкиваетесь с такими же неожиданными изменениями поведения в своем приложении.
Это может быть причиной.
Спасибо за ваше внимание.
[обновление от 19/3/2019]: пользователь Facebook «Momo Roro» описал аналогичное поведение своего собственного приложения
утверждая, что это было вызвано невозможностью приложения
чтобы связаться с API, это действительно соответствует моей ситуации,
фактически сразу после заставки мой поток должен получить
данные из API и маршрут к определенному экрану соответственно.
Есть идеи, почему это работает в debug, а не в release build?
Я повторяю приложение, над которым работаю некоторое время;
У меня было несколько версий выпуска,
но после обновления до flutter (я проклинаю себя каждый день за это)
приложение отлично работает в debug, но зависает в release build
(хотя при этом загружается «самодельная» заставка)
нет ошибок во время компиляции,
врач flutter говорит, что все в порядке,
Я закрепил свои зависимости и добавил это, чтобы предотвратить проблемы с AndroidX
rootProject.allprojects {
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'androidx.core') {
details.useVersion "1.0.1"
}
if (details.requested.group == 'androidx.lifecycle') {
details.useVersion "2.0.0"
}
if (details.requested.group == 'androidx.versionedparcelable') {
details.useVersion "1.0.0"
}
}
}
}
Я пробовал: flutter очистить,
flutter build apk — целевая платформа = android-arm64,
сборка flutter — выпуск … ничего не работает
Я открыл проблему на github, но я был бы признателен, если бы вы могли указать мне правильное направление
здесь вы можете найти несколько журналов
заранее спасибо
Комментарии:
1. Если вы извлекаете предыдущую версию flutter, правильно ли выполняется сборка вашего выпуска?
2. до того, как обновление работало идеально, как я могу понизить версию flutter?
3. [обновление 19/3/2019]: Пользователь Facebook «Momo Roro» описал аналогичное поведение своего собственного приложения, утверждая, что это было вызвано неспособностью приложения связаться с API, на самом деле это соответствует моей ситуации, фактически сразу после заставки мой поток должен получать данные из API и соответственно перенаправляться на определенный экран. Есть идеи, почему это работает в debug, а не в release build?
4. В зависимости от вашей версии flutter с
flutter version 1.0.0
илиflutter version --force 1.0.0
, если вы хотите использовать версию 1.0.0. Имейте в виду, что если у вас есть локальная модификация репозитория flutter, вам нужно их сохранить или отменить и прочитать вручную.5. Я столкнулся с аналогичными проблемами в библиотеке ‘barcode_scan’ с версией 1.0.0. переключение версии библиотеки на 0.0.8 решило все проблемы
Ответ №1:
окончательное обновление:
теперь все работает;
хотя раньше я не добавлял разрешение на доступ в Интернет, приложение работало отлично
(обращение к API и все такое), после обновления я должен явно изменить манифест.
На самом деле легко исправить:
xmlns манифеста: android = «http://schemas.android.com/apk/res/android »
пакет =»com.xxx.xxx»>
android: name =»android.разрешение.ИНТЕРНЕТ»/>
android: name=»io.flutter.app.FlutterApplication» android: label =»xxx»
android: значок =»@mipmap / ic_launcher»>
[…] если вы тоже испытываете те же неожиданные изменения поведения в своем приложении.
Это может быть причиной.
Спасибо за ваше внимание.
Ответ №2:
Только на этой неделе у меня была похожая проблема, которая не имела ничего общего с разрешениями приложения, а скорее с конфигурацией gradle.
Я пробовал разные предложения, но у меня сработало понижение моей зависимости от gradle с 4.1.2
на 3.5.4
- Перейдите к
android/build.gradle
(не android / app / …) - из зависимостей измените версию gradle с
classpath 'com.android.tools.build:gradle:4.1.2'
или любую более высокую версию, которую вы используете, наclasspath 'com.android.tools.build:gradle:3.5.4'