当前位置 : 主页 > 网页制作 > html >

关于死磕Flutter,引用image_picker插件报错

来源:互联网 收集:自由互联 发布时间:2021-06-12
先放参考感谢前人种树: https://juejin.im/post/5d312549f265da1b6f43aebf https://www.jianshu.com/p/5ef065abfe07 http://www.bubuko.com/infodetail-3079263.html 今天使用image_picker插件的时候build报错了,其实之前写Fl

先放参考感谢前人种树:

https://juejin.im/post/5d312549f265da1b6f43aebf

https://www.jianshu.com/p/5ef065abfe07

http://www.bubuko.com/infodetail-3079263.html

今天使用image_picker插件的时候build报错了,其实之前写Flutter Application的时候没碰到多少问题,这回写Flutter Module集成到Native项目的时候问题还是比较多的。要考虑解决集成问题,混合路由栈管理,合作开发等问题。当然还有些问题在路上,就比如Android历史的android.support.xxx包和androidX兼容性问题,涉及到Flutter项目迁移到AndroidX

报错如下,原因是在使用androidx库时, 又不小心间接使用了其他的老库

分享图片

在Flutter Module项目.android目录下的gradle.properties增加,build试试

android.useAndroidX=true
android.enableJetifier=true

报错,编译和运行版本不一样

分享图片

修改Flutter Module目录.android/app/build.gradle在dependencies属性里加,我这里不仅androidx.versionedparcelable不一样,都加上都加上

    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == com.android.support && !details.requested.name.contains(multidex) ) {
                details.useVersion "27.1.1"
            }else if(details.requested.group == "androidx.versionedparcelable") {
                details.useVersion "1.0.0-rc01"
            }else if(details.requested.group == "androidx.lifecycle") {
                details.useVersion "2.0.0-rc01"
            }else if(details.requested.group == "androidx.core") {
                details.useVersion "1.0.0-rc01"
            }
        }
    }

报错

 分享图片

因为用androidx关系旧包的东西已经找不到了,换这里有个映射表https://blog.csdn.net/Comestudy123/article/details/84785440

.android\Flutter\src\main\java\io\flutter\facade\FlutterFragment.java

//import android.support.annotation.NonNull;
//import android.support.v4.app.Fragment;
import androidx.annotation.NonNull;
import androidx.fragment.app.*;

.android\Flutter\src\main\java\io\flutter\facade\Flutter.java

//import android.arch.lifecycle.Lifecycle;
//import android.arch.lifecycle.LifecycleObserver;
//import android.arch.lifecycle.OnLifecycleEvent;
//import android.support.annotation.NonNull;
import androidx.lifecycle.*;
import androidx.annotation.NonNull;

build走起,但是仍旧有老问题.android目录会随时删除,又需要把修改的配置文件和代码放到根目录copy后build,这块后面解决下,应该可以用Flutter Application工程做集成,后面试试

网友评论