因此,基本上,我决定将项目升级到Android X,以使用不再适用于旧支持库的一些较新的库。在几乎可以找到的所有要迁移到Android X的网站上,按照几乎所有步骤进行操作。列出以下几个:
https://flutter.dev/docs/development/packages-and-plugins/androidx-compatibility
https://developer.android.com/jetpack/androidx/migrate#artifact_mappings
Flutter Projects & Android X Migration Issues
https://medium.com/@swhussain110/how-to-migrate-your-flutter-app-to-androidx-9a78eaaa924b
https://github.com/flutter/flutter/issues/27106
但是事实证明,没有一个对我有用。我的依赖项已全部升级到Android X版本。手动检查所有发布页面以进行Android X升级。这是我的pubspec.yaml
dependencies:
flutter:
sdk: flutter
cupertino_icons: '^0.1.2'
grpc: '^0.6.5'
protobuf: '^0.10.4'
intl: '^0.15.7'
geolocator: '^5.0.1'
shared_preferences: '^0.5.3+1'
image_picker: '^0.6.0+9'
image: '^2.1.4'
image_cropper: '^1.0.2'
cached_network_image: '^0.8.0'
sqflite: '^1.1.5'
google_maps_flutter: '^0.5.16'
firebase_messaging: '^5.0.3'
firebase_dynamic_links: '^0.4.0+2'
share: '^0.6.1+1'
http: 'any'
url_launcher: '^5.0.3'
package_info: '^0.4.0+4'
flutter_google_places: '^0.2.3'
add_2_calendar: '^1.3.0'
我已经进行了所有更改,以在gradle脚本中将支持库替换为这些文件的android X版本。曾尝试gradle clean
和flutter clean
很多次,但我不断收到此错误:
属性application @ appComponentFactory 值=(androidx.core.app.CoreComponentFactory)来自 [androidx.core:core:1.0.2] AndroidManifest.xml:22:18-86也是 存在于[com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 值=(android.support.v4.app.CoreComponentFactory)。意见建议:添加 'tools:replace =“ android:appComponentFactory”'转换为元素 在AndroidManifest.xml:18:5-62:19进行覆盖。
我已经尝试了库和Gradle版本的所有魔术版本号,但都没有帮助,尽管Gradle版本号给出了错误的不同文本格式,但仅此而已。
Current Gradle Wrapper version: 5.1.1 (Tried 4.10.2 also)
Build Tools: 3.4.1 (Tried 3.3.0 also)
Google Services: 4.2.0
有人遇到过这样的事情吗?还是有人对如何解决这个问题有任何想法?
很抱歉,如果这是一个非常琐碎的问题,而我看不出解决它的明显方法。 :(