Search code examples
androidflutterandroidx

Flutter Projects & Android X Migration Issues


I just created a new flutter project, added a few plugins and I'm getting the plugin switched to android x therefore i need to switch to android x. I've tried all the different ways of moving to android x and none has worked for me so far. Right now i don't even know what to do anymore, its so frustrating, why wouldn't flutter handle that when creating new projects automatically. Might be using ionic for the project.


Solution

  • 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:

    1. updated Android Studio to 3.3
    2. tried menu Refactor > Migrate to AndroidX
    3. 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)
    4. opened android/gradle.properties and added
    android.useAndroidX=true
    android.enableJetifier=true
    
    1. opened android/build.gradle and changed

      • com.android.tools.build:gradle to version 3.3.0
      • com.google.gms:google-services to version 4.2.0
    2. opened android/app/build.gradle and

      • changed compileSdkVersion to 28
      • replaced android.support.test.runner.AndroidJUnitRunner to androidx.test.runner.AndroidJUnitRunner
      • replaced com.android.support.test:runner to androidx.test:runner:1.1.0
      • replaced com.android.support.test.espresso:espresso-core to androidx.test.espresso:espresso-core:3.1.0
      • in my case that was it, but here's the complete list of required replacements
    3. opened android/gradle/wrapper/gradle-wrapper.properties and changed distributionUrl to https\://services.gradle.org/distributions/gradle-4.10.2-all.zip (you might have to use 5.4.1, please see update below)

    4. 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