Flutter第三方库images_picker编译错误解决

Flutter第三方库images_picker编译错误解决

问题

Xcode升级13.3后images_picker需要使用1.2.11版本,但是使用该版本Flutter编译报错,如下:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Multiple task action failures occurred:
   > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
      > The minCompileSdk (31) specified in a
        dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
        is greater than this module's compileSdkVersion (android-30).
        Dependency: androidx.camera:camera-view:1.0.0-alpha30.
        AAR metadata file: /Users/xxx/.gradle/caches/transforms-2/files-2.1/a7349c0fe56bc16154716f788d7e3816/jetified-camera-view-1.0.0-alpha30/META-INF/com/android/build/gradle/aar-metadata.properties.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
      > The minCompileSdk (31) specified in a
        dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
        is greater than this module's compileSdkVersion (android-30).
        Dependency: androidx.activity:activity:1.4.0.
        AAR metadata file: /Users/xxx/.gradle/caches/transforms-2/files-2.1/3d69715f367c1303568a03164e319955/jetified-activity-1.4.0/META-INF/com/android/build/gradle/aar-metadata.properties.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
      > The minCompileSdk (31) specified in a
        dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
        is greater than this module's compileSdkVersion (android-30).
        Dependency: androidx.camera:camera-lifecycle:1.1.0-alpha10.
        AAR metadata file: /Users/xxx/.gradle/caches/transforms-2/files-2.1/6d92a5cd8d8f9b4306d5dc997981c775/jetified-camera-lifecycle-1.1.0-alpha10/META-INF/com/android/build/gradle/aar-metadata.properties.
   > A failure occurred while executing com.android.build.gradle.internal.tasks.CheckAarMetadataWorkAction
      > The minCompileSdk (31) specified in a
        dependency's AAR metadata (META-INF/com/android/build/gradle/aar-metadata.properties)
        is greater than this module's compileSdkVersion (android-30).
        Dependency: androidx.camera:camera-core:1.1.0-alpha10.
        AAR metadata file: /Users/xxx/.gradle/caches/transforms-2/files-2.1/8bf7d16da0b583d42148039b5f0e2f7a/jetified-camera-core-1.1.0-alpha10/META-INF/com/android/build/gradle/aar-metadata.properties.

问题分析

从错误提示从可以看出是库的版本最低要求是安卓31,而工程的配置是30。

解决方案

1.将工程最低支持安卓版本改为31

由于项目需要支持30,而且改成31还会报其他错误所以没有采用该方案。

2.修改images_picker

在github上查看images_picker的源码地址,对其进行fork然后修改了库使其最低支持安卓30并支持Xcode13.3。地址

flutter工程引入:

images_picker:
  git:
    url: https://github.com/1339256554/images_picker.git
    ref: '1.2.9+2’
3.本地修改源码

如果嫌弃github下载慢,还可以将修改好的源码直接放在本地采用本地modules方式引入。

4.修改Podfile
post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        'PERMISSION_LOCATION=1',
        'PERMISSION_CAMERA=1',
        'PERMISSION_MICROPHONE=1',
      ]
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值