Android 導入Flutter模塊

Android 導入Flutter模塊

Flutter可以作爲源代碼Gradle子項目或AAR嵌入到您現有的Android應用程序中。

可以使用帶有Flutter插件的Android Studio IDE 或手動完成集成流程

Flutter目前只支持構建用於x86_64、armeabi-v7a和arm64-v8a的AOT編譯庫

考慮使用abiFilters Android Gradle插件API來限制APK中支持的架構。這樣做可以避免丟失libflutter.so運行時崩潰,例如:

android {
  //...
  defaultConfig {
    ndk {
      // Filter for architectures supported by Flutter.
      abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86_64'
    }
  }
}

兩種方式

1.使用Android Studio

File > New > New Module...現有Android項目中Android Studio中的菜單,您可以創建要集成的新Flutter模塊,也可以選擇以前創建的現有Flutter模塊

2.手動整合
創建Flutter模塊

​ 假設您在處已有一個Android應用some/path/MyApp,並且您希望Flutter項目作爲同級項目:

$ cd some/path/
$ flutter create -t module --org com.example my_flutter

Java 8要求

Flutter Android引擎使用Java 8功能。

在嘗試將Flutter模塊項目連接到主Android應用之前,請確保您的主Android應用在您的應用build.gradle文件中的android { } 塊下聲明瞭以下源兼容性,例如:

android {
  //...
  compileOptions {
    sourceCompatibility 1.8
    targetCompatibility 1.8
  }
}

添加Flutter模塊作爲依賴項

將Flutter模塊添加爲Gradle中現有應用程序的依賴項。

有兩種方法可以實現此目的

1.AAR機制會創建通用的Android AAR作爲打包Flutter模塊的中介。當您的下游應用程序構建者不想安裝Flutter SDK時,這很好。但是,如果您經常進行構建,則會增加一個構建步驟

2.源代碼子項目機制是一種便捷的一鍵式構建過程,但需要Flutter SDK。這是Android Studio IDE插件使用的機制

1.AAR

AAR詳細看 官網

2.源代碼模塊(module)

Android項目和Flutter項目啓用一個步驟的構建。當您同時在兩個部分上進行快速迭代時,此選項很方便,但是您的團隊必須安裝Flutter SDK才能構建主應用程序

在主APP的settings.gradle下:

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

app的build.gradle添加依賴

dependencies {
  implementation project(':flutter')
}

gradle sync (同步)一下,OK

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章