我刚刚创建了一个新的flutter项目,添加了一些插件,并且我将插件切换到了android x,因此我需要切换到android x。我尝试了所有不同的方法来迁移到android x,到目前为止,没有一种方法对我有用。现在,我什至不知道该怎么办,它是如此令人沮丧,为什么在自动创建新项目时不那么处理。可能在项目中使用了离子。
答案 0 :(得分:10)
创建新项目时,只需遵循@harsh 's answer,就可以完成。
但是,当我最近升级现有应用程序以使用新的插件时,我也不得不迁移到AndroidX ...并且official instructions中的默认过程不起作用,这是使用Android Studio来完成的。迁移项目-提示“找不到用法!”。
所以我所做的是:
gradle.properties
并添加android.useAndroidX=true
android.enableJetifier=true
打开build.grade
并更改
com.android.tools.build:gradle
到版本3.3.0
com.google.gms:google-services
到版本4.2.0
打开了app/build.grade
和
compileSdkVersion
更改为28
android.support.test.runner.AndroidJUnitRunner
替换为androidx.test.runner.AndroidJUnitRunner
com.android.support.test:runner
替换为androidx.test:runner:1.1.0
com.android.support.test.espresso:espresso-core
替换为androidx.test.espresso:espresso-core:3.1.0
打开grade/wrapper/gradle-wrapper.properties
并将distributionUrl
更改为https\://services.gradle.org/distributions/gradle-4.10.2-all.zip
这与我的预期相反,确实有效! :)
答案 1 :(得分:5)
将此文件添加到您的pubspec.yaml
文件的结尾,没有任何父文件:
module:
androidX: true
然后,在android / graddle.properties中添加:
android.useAndroidX=true
android.enableJetifier=true
在您的CLI上运行:
flutter clean
并重新运行代码
flutter run
这可能会解决您的AndroidX
问题。
对于您的SDK,我认为您可能会在android/app/build.gradle
内进行更改
minSdkVersion 21
targetSdkVersion 28
multiDexEnabled true
multiDexEnabled
是可选的(如果与之相关的某些错误)。
我认为这可以解决您的问题,请给我反馈。
答案 2 :(得分:3)
经过大量尝试,我刚刚创建了一个新的Flutter项目,然后将pubspec.yaml,lib和asset文件夹从旧项目复制到了新项目中,并解决了问题
答案 3 :(得分:1)
当您将Android Studio版本从3.2更新到3.3时。从Android Studio 3.3开始,您可以使用android库或androidx库,但是
在flutter平台中,flutter将始终采用android studio的最新配置。
这是用户根据androidx使用依赖项时出错的主要原因。
要将flutter项目迁移到AndroidX,请查看以下链接: https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility
答案 4 :(得分:1)
我遇到了类似的问题。
这个Medium article帮助我找到了解决问题的75%的方法
我遵循了本文中提到的步骤。而我被困在最后
不允许Android Studio从项目结构中直接打开android模块(文件夹)。所以我在android studio的新窗口中手动打开了。
Android未重构gradle testRunner
classpath
androidTestImplementation
,它提示像是依赖关系,因此我手动替换了所有路径。
android.support.test.runner.AndroidJUnitRunner
替换为androidx.test.runner.AndroidJUnitRunner
com.android.support.test:runner
替换为androidx.test:runner:1.1.0
com.android.support.test.espresso:espresso-core
替换为androidx.test.espresso:espresso-core:3.1.0
,最后我添加到 android / gradle.properties
android.useAndroidX=true
android.enableJetifier=true
然后运行该应用程序。 ;)在androidX警告消失后。
答案 5 :(得分:0)
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.
答案 6 :(得分:0)
我最近遇到了这个问题。找了好几个小时后,我才发现这个中等页面 https://medium.com/@swhussain110/how-to-migrate-your-flutter-app-to-androidx-9a78eaaa924b
遵循这些步骤
com.android.tools.build:gradle:3.3.1
。compileSdkVersion
和targetSdkVersion
更改为28。答案 7 :(得分:0)
遇到同样的问题。
在我的build.gradle中,compileSdkVersion和targetSdkVersion已设置为28。minSdkVersion已设置为23。
已添加 android.useAndroidX = true android.enableJetifier = true为我的android / graddle.properties。
添加所有这些后,仍无法迁移到AndroidX。这样做时,会弹出一条消息,提示“此项目中未发现使用情况”
将以下代码添加到我的app / build.gradle中解决了该问题。
android {
defaultConfig {
...
minSdkVersion 23
targetSdkVersion 28
multiDexEnabled true
}
}
依赖性{
implementation 'com.android.support:multidex:1.0.3'
}
答案 8 :(得分:-1)
在我迁移到androidx后仍然无法正常工作
我只是在sdk上安装了Google Play服务,它就可以了