Flutter Projects & Android X Migration Issues
Solution 1:
As you are creating a new project, just follow @harsh 's answer and you're done.
However, as I recently upgraded my existing app to use new plugins, I had to migrate to AndroidX as well... and the default procedure in the official instructions didn't work, which is using Android Studio to migrate the project - it said "No usages found!".
So what I did was:
- updated Android Studio to 3.3
- tried menu Refactor > Migrate to AndroidX
- got "No usages found" (if you manage to do it here instead, stop! you're done! ... actually, you can give this answer a try before continuing)
- opened
android/gradle.properties
and added
android.useAndroidX=true
android.enableJetifier=true
-
opened
android/build.gradle
and changed-
com.android.tools.build:gradle
to version3.3.0
-
com.google.gms:google-services
to version4.2.0
-
-
opened
android/app/build.gradle
and- changed
compileSdkVersion
to28
- replaced
android.support.test.runner.AndroidJUnitRunner
toandroidx.test.runner.AndroidJUnitRunner
- replaced
com.android.support.test:runner
toandroidx.test:runner:1.1.0
- replaced
com.android.support.test.espresso:espresso-core
toandroidx.test.espresso:espresso-core:3.1.0
- in my case that was it, but here's the complete list of required replacements
- changed
opened
android/gradle/wrapper/gradle-wrapper.properties
and changeddistributionUrl
tohttps\://services.gradle.org/distributions/gradle-4.10.2-all.zip
(you might have to use 5.4.1, please see update below)executed
flutter clean
And contrary to what I expected, IT WORKED! :)
UPDATE (2019 October 27th)
When updating my app to flutter v1.9.1+hotfix.5
, as I use app signing, I was stuck with the error SigningConfig "release" is missing required property "storePassword"
and in the end it was the gradle version from step 7 above. So now I'm using 5.4.1 as suggested in this wiki.
[android/gradle/wrapper/gradle-wrapper.properties]
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
Solution 2:
I've made the migration successfully by using Sam's answer!
1. Open the Flutter project into Android Studio
2. Right click on the android directory and Flutter -> Open Android module in Android Studio. It asked me to upgrade my gradle plugin.
3. Then I installed Google Play Services. Tools -> SDK Manager -> SDK Tools and chek the Goolge Play Services.
Solution 3:
Add this to the end of your pubspec.yaml
file, without any parent:
module:
androidX: true
Then, at android/graddle.properties add:
android.useAndroidX=true
android.enableJetifier=true
Run at your CLI:
flutter clean
and rerun your code
flutter run
This may adjust your problem with AndroidX
.
For your SDK, i think you may change inside android/app/build.gradle
minSdkVersion 21
targetSdkVersion 28
multiDexEnabled true
the multiDexEnabled
is optional (in case of some error related to it).
I think this may solve your problem, please give me a feedback about it.