先放參考感謝前人種樹:
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工程做集成,后面試試