Flutter踩坑日記(一)


1,,下載flutter,配置環境變量,運行flutter doctor檢測

2, 1步驟中,檢測發現as的flutter和dart插件沒有安裝,打開as,搜索插件后安裝

3,再次flutter doctor,發現插件還是提示未安裝(此處記錄,as使用的是zip解壓版的,緩存目錄通過local.properties配置到了別的路徑,不知道是否跟這個有關系

4,打開as,新建flutter project ,可以正常運行

5,新建android 原生項目,在原生項目中新建flutter的module,能夠正常添加成功,但是有幾個小問題(問題可以通過其他方法解決,具體原因還不清楚)

  a,新建的module中缺失東西

  

 

   b,cp過來的facade包中,java代碼報錯,發現有包少引入

  

    implementation 'com.android.support:support-v13:27.1.1'
    implementation 'com.android.support:support-annotations:27.1.1'
    implementation 'android.arch.lifecycle:livedata:1.1.1'

  

  c,flutter的module單獨安裝時,能正常安裝為flutter的app

  d,在項目的setting.gradle中添加flutter的module的引入

  

 

setBinding(new Binding([gradle: this]))
evaluate(new File(
        settingsDir,                                             //module所在的目錄(針對當前文件的相對路徑)
        'my_flutter1/.android/include_flutter.groovy'            //基本都一樣
))

include ':my_flutter1'//引入flutter的module

  

  e,在主工程中引入flutter的module

   

 implementation project(':flutter')

  

 6,經過上面幾部,as的原生項目就可以引入flutter的module,並且可以跳轉至flutter中的頁面了

 final FlutterView flutterView = Flutter.createView(SecondActivity.this,getLifecycle(),"flutter_activity_1");//創建flutterview,路由id為flutter_activity_1
flutterView.setVisibility(View.INVISIBLE);//靜默創建flutterview
ViewGroup.LayoutParams layout = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
                flutterView.addFirstFrameListener(new FlutterView.FirstFrameListener() {
                    @Override
                    public void onFirstFrame() {
                        flutterView.setVisibility(View.VISIBLE);//當flutterview初始化完成后,顯示
                    }
});
addContentView(flutterView, layout);//添加flutterview進布局

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM