您的应用未使用 AndroidX - Flutter 不允许我生成 apk
Posted
技术标签:
【中文标题】您的应用未使用 AndroidX - Flutter 不允许我生成 apk【英文标题】:Your app isn't using AndroidX - Flutter doesn't allow me to generate apk 【发布时间】:2020-05-13 16:06:13 【问题描述】:我在 Mac 上使用 Visual Studio 代码开发了一个应用程序。我在ios上运行应用程序没有任何问题。我还将它安装在物理设备上,它运行良好,但我在生成 android 项目研究及其 APK 时遇到问题。
消息:
flutter build appbundle
[!] Your app isn't using AndroidX.
To avoid potential build failures, you can quickly migrate your app by following the
steps on ...
Running Gradle task 'bundleRelease'...
Note: Some input files use unchecked or unsafe operations.
Running Gradle task 'bundleRelease'... Note: Recompile with -Xlint:unchecked for details.
Running Gradle task 'bundleRelease'...
Running Gradle task 'bundleRelease'... Done 217,9s (!)
Gradle build failed to produce an .aab file. It's likely that this file was generated under
/Users/riccardo/Desktop/QuoteFlutter/quote/build, but the tool couldn't find it.
【问题讨论】:
您是否尝试按照给您的说明更新您的应用以使用 AndroidX? 请试试这个,更多日志信息,flutter build apk -v,可能是android x迁移的问题 尝试使用flutter clean命令,然后构建apk 【参考方案1】:在我自己的情况下,我的 gradle.properties 丢失了。我刚刚在 android 文件夹中创建了一个新的 gradle.properties 文件,使用以下参数
org.gradle.jvmargs=-Xmx1536M
android.useAndroidX=true
android.enableJetifier=true
android.enableR8=true
【讨论】:
【参考方案2】:错误描述明确指出
您的应用未使用 AndroidX。 为避免潜在的构建失败,您可以按照以下步骤快速迁移您的应用程序 踩...
如何解决?
关注this 详细文档。
【讨论】:
【参考方案3】:你应该去
YourAppName=> android => gradle.properties
在 gradle.properties 里面添加这两行
android.useAndroidX=true
android.enableJetifier=true
dat 应该可以解决它。
【讨论】:
【参考方案4】:我有一个使用 Firestore 的旧项目,我正试图打开它,但收到了这条消息。我找不到任何简单的方法来修复它。
这些是我迁移它所采取的步骤,希望对某人有所帮助。
创建一个新文件夹。
然后在终端中运行此命令,在文件夹中:
flutter create --org com.yourdomain your_app_name
从 lib 文件夹中复制文件,(以及从 android 或 ios 文件夹中进行的任何其他修改)。
将 google-services.json 复制到 android\app 文件夹。
修改pubspec.yaml,复制dependencies下的依赖:
将 android\app\build.gradle 更改版本更改为:
minSdkVersion 21
在android\app\build.gradle中添加需要的插件:
apply plugin: 'com.google.gms.google-services'
在 Android\build.gradle 文件中: 添加依赖项(使用您的版本):
classpath 'com.google.gms:google-services:4.3.3'
【讨论】:
【参考方案5】:您需要将项目转换为 AndroidX。执行以下命令:
flutter create --androidx -t <project-type> <new-project-path>
项目类型可以是app、package或plugin
更多信息here。
注意:在使用 Flutter 在 VSCode 中构建从 github 下载的应用时也会出现此问题。
【讨论】:
【参考方案6】:2021 年 8 月
答案:
如果你没有像我使用vscode
那样使用android studio
。
将以下行添加到 flutter_app_path/android/gradle.properties。
android.useAndroidX=true
android.enableJetifier=true
Google 引入了 android jetpack(另一个主题),其中 AndroidX
包名称和 jetpack 库的默认命名空间以及最低要求 support library 28
我猜现在颤振团队希望在不久的将来将 flutter
支持迁移到 android jetpack
。现在开始迁移到androidx
,确保你的项目有support library 28
将以下行添加到 flutter_app_path/android/app/build.gradle。
android
compileSdkVersion 28
// other lines of code
可选故事
我克隆旧的flutter repo 时遇到了同样的问题
如果你已经从 github 克隆了 flutter legacy app
repo 并且你的开发 Flutter SDK 版本是 2.2.x
首先你需要将你的应用迁移到 NULL Safety 之后你应该迁移到 androidx
跟随我的Answer
【讨论】:
【参考方案7】:这是因为您的项目缺少 gradle.prperties 文件 >> 在 android studio 或 vs 代码中打开终端并编写“flutter create”。它将创建丢失的文件,其中之一是 gradle.properties。
【讨论】:
【参考方案8】:如果你想要一个 APK 然后使用
flutter clean
flutter build apk
【讨论】:
以上是关于您的应用未使用 AndroidX - Flutter 不允许我生成 apk的主要内容,如果未能解决你的问题,请参考以下文章
未找到 Androidx SeekBarPreference xml 属性 setMax
androidx.paging.PagedStorage.init 在启用 proguard 时给出错误
获取 android 房间数据库 java.lang.IllegalArgumentException 的以下异常:@androidx.room.Database 未定义元素视图()