Flutter Plugin引用安卓aar包
2021-09-02 本文已影响0人
倪大头
原文:https://www.kikt.top/posts/flutter/plugin/flutter-sdk-import-aar/
安卓插件直接引用aar,flutter编译时可能会报这个错:
Direct local .aar file dependencies are not supported when building an AAR.
解决方法是用maven把aar打包成本地仓库
首先安装maven,mac电脑用brew即可
brew install maven
在flutter插件项目中的android根目录创建一个libs文件夹,把需要打包的aar文件放进libs目录,然后命令行进到libs目录下执行命令:
mvn deploy:deploy-file -Dfile=WbCloudNormal-v4.0.14-b005c6b.aar -Durl="file://." -DgroupId="com.wbcloud" -DartifactId="normal" -Dversion="4.0.14"
-Dfile= 后面是你的aar文件名
-DgroupId= 后面是组名
-DartifactId= 后面是sdk名称
-Dversion= 后面是版本号
命令执行后,本地仓库已生成
image.png
我这里有两个aar,一个normal一个ocrsdk
本地仓库生成成功后就可以把之前拖进来的aar文件删除了
配置安卓项目的build.gradle文件:
定义一个找到包路径的方法:
def getCurrentProjectDir() {
String result = ""
rootProject.allprojects { project ->
if (project.properties.get("identityPath").toString() == ":tencent_ocr_plugin") {
result = project.properties.get("projectDir").toString()
}
}
return result
}
...
“tencent_ocr_plugin”修改为你的flutter plugin项目名
在rootProject.allprojects中配置maven包路径
rootProject.allprojects {
def dir = getCurrentProjectDir()
repositories {
google()
jcenter()
maven {
url "$dir/libs"
}
}
}
然后在dependencies中就可以导入想要的aar了
dependencies {
implementation "com.wbcloud:normal:4.0.14"
implementation "com.wbcloud:ocrsdk:2.4.5"
}