Flutter create --template plugin Flutter_plugin
我把我的aar文件放在Flutter_plugin / android / src / main / libs文件夹中
我修改了Flutter_plugin / android / build.gradle
并将rootProject.allprojects部分更改为
rootProject.allprojects {
repositories {
google()
jcenter()
flatDir {
dirs "src/main/libs"
}
}
}
并在android {}之后添加了依赖项部分:
dependencies {
implementation (name:"mylib",ext:"aar")
}
但是,当我尝试运行:颤动运行
我得到了gradle异常,显然它试图在示例目录中查找我的mylib.aar:example / src / main / libs / mylib.aar并且失败了.
我可以将我的lib放在示例目录中,但我不认为这是正确的方式,
因为我希望我的aar成为插件的一部分.
解决方法:
根据我的经验,在另一个插件项目(Flutter插件的android项目)中添加直接插件是非常困难或不允许的,所以在这种情况下,你有两个选择,
1.如果您的aar依赖性在gradle上可用,请使用构建文件中的gradle.你可以搜索它here
>或者如果您正在从另一个项目中自行构建,那么您可以将aar发布到本地maven,并通过在插件构建文件中添加“mavenLocal()”来在Flutter插件中使用该依赖项.
例如,我在这里解决了同样的问题:
我的依赖是build.gradle
group 'com.companyname.artifactname'
version '1.0-SNAPSHOT'
buildscript {
repositories {
mavenLocal()
google()
jcenter()
maven {
url "https://maven.google.com" // Google's Maven repository
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}
allprojects {
repositories {
mavenLocal()
google()
jcenter()
maven {
url "https://maven.google.com" // Google's Maven repository
}
}
}
apply plugin: 'com.android.library'
uploadArchives {
repositories {
mavenLocal()
}
}
android {
compileSdkVersion 23
buildToolsversion "23.0.2"
defaultConfig {
minSdkVersion 15
targetSdkVersion 23
versionCode 2
versionName "2.0.1"
}
lintOptions {
abortOnError false
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dependencies {
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:support-v4:23.2.1'
}
}
dependencies {
compile filetree(include: ['*.jar'], dir: 'libs')
}
apply plugin: 'maven-publish'
publishing {
publications {
library(MavenPublication) {
version "1.1"
artifact(bundleRelease)
}
}
}
然后运行以下命令将其发布到本地maven存储库
gradlew publishToMavenLocal
然后只需在Flutter插件的存储库部分添加mavenLocal()并添加依赖性
compile 'com.companyname.artifactname:libraryname:1.1@aar'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。