您现在的位置是:首页 >学无止境 >flutter,android混合项目如何抽离出独立的flutter项目网站首页学无止境
flutter,android混合项目如何抽离出独立的flutter项目
简介flutter,android混合项目如何抽离出独立的flutter项目
要将Flutter部分抽离出独立的项目,可以采用Flutter模块化的方式,将Flutter部分封装成一个独立的Flutter Module,并在原有的Android项目中引入该Module。这样做的好处是可以把Flutter部分与Android部分分开管理,提高开发效率和编译速度。
以下是具体的步骤:
1. 创建Flutter Module
首先要创建一个独立的Flutter Module,可以通过命令行执行以下命令:
flutter create --template=module flutter_module
这样就会在当前目录下创建一个名为flutter_module的Flutter Module。
2. 将Flutter Module引入到原有的Android项目中
把Flutter Module作为Library Module引入到原有的Android项目中。可以通过在settings.gradle文件中添加以下内容来引入:
include ':app'
setBinding(new Binding([gradle: this]))
gradle.rootProject {
projectDir = file('../flutter_module/')
}
include ':flutter_module'
project(':flutter_module').projectDir = new File(settingsDir, '../flutter_module/')
这里的../flutter_module/是指Flutter Module的根目录所在的相对路径。
在app/build.gradle文件中,添加如下依赖:
dependencies {
implementation project(':flutter_module')
}
3. 修改Flutter Module的gradle文件
修改Flutter Module的build.gradle文件,将Flutter Module的发布类型改为aar库,并指定输出路径:
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 30
ndkVersion "19.2.534560"
defaultConfig {
minSdkVersion 16
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility = '1.8'
targetCompatibility = '1.8'
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'com.android.support:multidex:1..3'
implementation 'com.google.android.material:material:1.1.'
implementation 'androidx.appcompat:appcompat:1.2.'
implementation 'androidx.core:core-ktx:1.3.2'
implementation 'androidx.constraintlayout:constraintlayout:2..2'
implementation "io.flutter:flutter_embedding_v2.2.3-release"
implementation "io.flutter:flutter_ui_v2.2.3-release"
implementation "io.flutter:flutter_tools_v2.2.3-release"
}
//指定aar文件输出路径
artifacts {
archives(file('output/flutter_module-release.aar')) {
type 'aar'
}
}
在该文件中,我们将aar输出路径设为output/flutter_module-release.aar,这样在构建Flutter Module时,会将aar文件输出到该路径下。
4. 编译项目
完成以上步骤后,重新编译Android项目即可。每次修改Flutter代码后,只需要重新构建Flutter Module,并重新编译Android项目即可,无需重新编译整个项目,从而提高了开发效率和编译速度。
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。