创建插件工程
- 通过
--org来指定组织名称,例如com.example,一般就是包名的组织部分
- 通过
--platforms来指定支持的平台,支持android,ios,linux,macos,windows等平台
- 通过
-a、-i,来指定安卓和iOS平台的开发语言,例如kotlin和swift
flutter create --org com.example --template=plugin --platforms=android,ios,linux,macos,windows -a kotlin -i swift hello
创建插件的例子
# iOS为objc,Android为java
flutter create --org com.atmob --template=plugin --platforms=android,ios -i objc -a java keyboard_sample
# iOS为swift,Android为kotlin
flutter create --org com.atmob --template=plugin --platforms=android,ios -i swift -a kotlin keyboard_sample
运行一次plugin,生成相关文件
- 方式一,AndroidStudio打开plugin工程,直接运行,来拉取依赖和生成相关文件
- 方式二,通过终端,cd到
keyboard_sample/example目录, flutter build apk --config-only
打包apk命令
flutter build apk --release --target-platform android-arm,android-arm64 -v --obfuscate --split-debug-info=./debug-info\
flutter build apk --debug --target-platform android-arm,android-arm64 -v --obfuscate --split-debug-info=./debug-info\
flutter build apk --release -v --obfuscate --split-debug-info=./debug-info\
flutter build appbundle -v --obfuscate --split-debug-info=./debug-info\
常见问题
Android Studio打开android目录,flutter相关类找不到
-
local.properties文件,添加flutter的sdk的位置
# Android sdk 路径
sdk.dir=C\:\\Users\\XM20240809\\AppData\\Local\\Android\\Sdk
# 配置flutter的sdk路径
flutter.sdk=C\:\\Users\\XM20240809\\fvm\\versions\\3.29.2
-
android目录下的build.gradle文件,读取该配置,以及添加依赖
// 加载 local.properties 文件
// 注意:需要在 local.properties 文件中配置你的flutter的sdk目录,例如:flutter.sdk=C\:\\Users\\XM20240809\\fvm\\versions\\3.29.2
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withInputStream { stream ->
localProperties.load(stream)
}
}
// 读取变量
def flutterSdk = localProperties.getProperty('flutter.sdk')
android {
// 省略其他...
dependencies {
testImplementation("org.jetbrains.kotlin:kotlin-test")
testImplementation("org.mockito:mockito-core:5.0.0")
// 通过compileOnly,添加这句依赖
compileOnly(files("$flutterSdk/bin/cache/artifacts/engine/android-arm/flutter.jar"))
}
}
插件运行,提示Gradle不支持jdk21
- 本人的Andoid Studio和Flutter版本不是最新的,创建的插件使用的Gradle版本是7.x,同事的版本都是最新的,Flutter默认使用的jdk是Android Studio上自带的,为jdk21,而Gradle 7.x版本还不支持,所以需要需要手动指定Flutter使用的jdk为自己安装的jdk17,或者将插件使用的gradle升级到8.x,但改动有点大,所以简单点就是手动指定jdk版本,最后sync同步一下项目即可
flutter config --jdk-dir C:\Dev\Java\jdk-17
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。