【发布时间】:2019-04-05 14:01:18
【问题描述】:
我正在做一个颤振项目,我必须检测物体的边缘。我已经搜索了现有的插件,但找不到任何插件。我打算使用 OpenCV 进行边缘检测。
我从 Android Studio 创建了一个颤振插件。这是插件结构。
我从这里下载了适用于 Android 的 OpenCV - opencv-3.4.3-android-sdk 并解压缩。
我已将 OpenCV SDK 中的 java 文件夹作为模块导入到 Flutter 插件的 Android 项目中。
这就是我的 android 项目(flutter 插件)build.gradle 的样子
group 'com.xxxx.xxxxx'
version '1.0-SNAPSHOT'
buildscript {
ext.kotlin_version = '1.2.30'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
rootProject.allprojects {
repositories {
google()
jcenter()
}
}
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 27
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
defaultConfig {
minSdkVersion 16
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
lintOptions {
disable 'InvalidPackage'
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation project(':openCVLibrary343')
compileOnly files('templibs/flutter.jar')
}
这就是我的 opencv build.gradle 的样子
apply plugin: 'com.android.library'
android {
compileSdkVersion 27
buildToolsVersion "28.0.3"
defaultConfig {
minSdkVersion 8
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
这就是 Android 项目(flutter 插件)的 settings.gradle 的样子
rootProject.name = 'flutter_plugin'
include ':openCVLibrary343'
当我尝试运行由颤振插件模板创建的示例应用程序时,出现以下错误。
在调试模式下在 Nexus 6P 上启动 lib\main.dart... 正在初始化梯度... 解决依赖关系... * 运行 Gradle 时出错: 退出代码 1 来自:C:\Users\xxxxx\Documents\flutter_plugin\example\android\gradlew.bat app:properties:
FAILURE:构建失败并出现异常。
在哪里: 构建文件 'C:\Users\xxxx\Documents\flutter_plugin\android\build.gradle' 行:48
-
出了什么问题: 评估项目 ':flutter_plugin' 时出现问题。
在项目“:flutter_plugin”中找不到路径为“:openCVLibrary343”的项目。
尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。
通过https://help.gradle.org获得更多帮助
1 秒内构建失败
以错误结束:请检查 android/ 文件夹中的 Gradle 项目设置。
【问题讨论】:
-
@SnakeyHips 这怎么可能是重复的?我的问题是关于 Gradle 构建错误。
-
不能通过这种方式将 Android 插件添加到 Flutter 中。您必须使用 Flutter 插件,这就是为什么您会收到错误“在项目 ':flutter_plugin' 中找不到带有路径 ':openCVLibrary343' 的项目”。我也链接了这个帖子不仅说 OpenCV 目前在 Flutter 上不可用,而且还解释了如何provide your own plugin following this.。请看一下。
-
@SnakeyHips 如果您阅读了我的整个问题,您就会明白我创建了一个颤振插件并将 openCV 添加到插件的 android 部分。
标签: android opencv gradle flutter flutter-dependencies