问题
A problem has suddenly recently arisen such that simply by including the dependency in 'location' in pubspec.yaml like e.g.
dependencies:
flutter:
sdk: flutter
location: ^1.2.0 <------------------------ culprit
firebase_auth: ^0.5.10
cloud_firestore: ^0.7.2
the app crashes immediately upon startup.
The 'location' package itself works when alone in an example app. I am not currently importing i.e. using any of the functionality contained within the location package, yet when I remove the entry, all is well.
No clues from watching flutter log unfortunately...
回答1:
I was facing the same issue. What I did was insert the line multiDexEnabled true
in my build.gradle
of app. Like this:
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example"
minSdkVersion 16
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
multiDexEnabled true //Insert this line
}
Try this and run the commands flutter clean
, flutter build apk
and flutter run
. It must solve your problem.
回答2:
I have a similar issue, for me its a different package though.
stripe_payment: "^0.0.6"
I can't see anything in the logs which are as follows:
Using hardware rendering with device Android SDK built for x86. If you get graphics artifacts, consider enabling software rendering with "--enable-software-rendering".
Launching lib/main.dart on Android SDK built for x86 in debug mode... Initializing gradle... 3.2s Resolving dependencies... 17.4s Running 'gradlew assembleDebug'... 48.1s Built build\app\outputs\apk\debug\app-debug.apk. Installing build\app\outputs\apk\app.apk... 2.4s
回答3:
I had the same issue with physical android device as well as the emulator. I am not entirely sure how I resolved this but here are the steps:
- Use a lower version of the same package (
cached_network_image
in my case) inpubspec.yaml
. - If app still crashes, run
flutter upgrade
andflutter packages get
again. - Completely stop and restart your app (No reloading). It must not crash now.
Point to note is that my app didn't crash even after changing the package version back to the latest in the pubspec.yaml
after performing the above 3 steps.
回答4:
no need to change anything, a simple flutter build apk
will solve the problem (if all the packages in pubspec.yaml
are updated and error free)
this happens quite often when switching to a branch that has a completely different list of packages, flutter needs to build...
回答5:
I had similar issues, and after spending a few good hours on it, to find out the problem is Kotlin, that I created the project without Kotlin and Swift support. The Dart part of the code works fine, but the Android app would crash on launch with Kotlin code but works fine with Java.
To create Flutter project with Kotlin/Swift support from command:
flutter create --org co.uk.sample -i swift -a kotlin --description 'Your Project Description' sample_app
Where --org defines the project path, -i enables Swift, -a enables Kotlin, followed by your app name at the end.
来源:https://stackoverflow.com/questions/50454656/flutter-android-app-crashes-upon-startup-if-i-include-a-certain-package