將Flutter Module集成到Android原生中

國內(nèi)Flutter的官網(wǎng)集成,官網(wǎng)的描述比較模糊,按照官網(wǎng)集成出現(xiàn)好多問題,下面會具體展開說說。

我用的工具和環(huán)境:

  • Android Studio: 2021.1.1 Patch 1(俗稱小蜜蜂)
  • gradle:gradle-7.2-bin.zip
  • Flutter:3.3.0
  • Dart:2.18.0

集成的步驟:

第一步:

創(chuàng)建一個Android原生項目MyAndroidApp(File->New->New Project...)

第二步:

創(chuàng)建一個Flutter Module,名為my_flutter,(File ->New->New Flutter Project...)


25403057b17d3c8a9dc9340a889146a.png

注意點:Project type要選擇Module

第三步:

在原生項目的MyAndroidApp下的settings.gradle下面添加如下代碼:

setBinding(new Binding([gradle: this]))
evaluate(new File(
        settingsDir.parentFile,
        'my_flutter/.android/include_flutter.groovy'
))

注意點:

  1. Binding會報錯,但是不用管,運行的時候不會報錯,如果導(dǎo)入了下面代碼
    import javax.naming.Binding
    Sync Now的時候會報錯 Could not find which method <init>() to invoke from this list:
  2. 修改MyAndroidApp下的settings.gradle里的代碼
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon
    }
}

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.PREFER_PROJECT)
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
}
  1. 修改MyAndroidApp下的build.gradle代碼為
allprojects {
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    }
}

第四步:

在MyAndroidApp->app->build.gradle下面添加如下依賴:

    implementation project(':flutter')

最后集成完的項目目錄:


239c19dbcdfa3a9839a46b909b4382f.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容