Как упаковать SDK openCV для Android с плагином для Android?Android

Форум для тех, кто программирует под Android
Ответить
Гость
 Как упаковать SDK openCV для Android с плагином для Android?

Сообщение Гость »

Мне нужно создать плагин Android для игрового движка Godot. Моему плагину Android нужна функция openCV. Мне удалось интегрировать openCV в мой проект Android с помощью этого руководства, но мне также нужен openCV в моем плагине Android, поэтому я добавил реализацию(project(":openCV ")) в моем плагине android build.gradle мне также нужно экспортировать мой плагин в формат Android Archive (aar), поэтому для этого я использую ./gradlew assemble, но проблема в том, что мой aar не содержит SDK openCV, хотя я добавил реализацию(project(":openCV")) в свой плагин Android build.gradle
Чтобы упаковать openCV в файл aar моего плагина, я попытался добавить следующий код в build.gradle моего плагина для Android, но ни один из них не сработал.
Первая попытка:

Код: Выделить всё

packagingOptions {
resources.pickFirsts.add("opencv_folder/**")
}
Вторая попытка:

Код: Выделить всё

packagingOptions {
resources.pickFirsts.add("**/*")
}
Третья попытка:

Код: Выделить всё

 packagingOptions {
jniLibs.pickFirsts.add("**/*.so")
}
Четвертая попытка:

Код: Выделить всё

sourceSets {
main {
jniLibs.srcDirs("path_to_opencv_folder")
}
}
Пятая попытка:

Код: Выделить всё

 packagingOptions {
jniLibs.pickFirsts.add("**/*.so")
}
Шестая попытка:

Код: Выделить всё

 packagingOptions {
jniLibs.pickFirsts.add("lib/**/*.so")
}
Седьмая попытка:

Код: Выделить всё

packagingOptions {
jniLibs.pickFirsts.add("**/opencv_module_folder/**/*.so")
}
Восьмая попытка:

Код: Выделить всё

 sourceSets {
named("main") {
java.srcDirs(file("../opencv_module_folder/src/main/java"))
}
}
Девятая попытка:

Код: Выделить всё

sourceSets {
getByName("main").java.srcDirs = files("../opencv_module_folder/src/main/java")
}
Десятая попытка:

Код: Выделить всё

packagingOptions {
// Include all necessary files from OpenCV
from(project(":openCV")) {
include("**/*.so")
}
}
Одиннадцатая попытка:

Код: Выделить всё

tasks {
val createAar by tasks.creating(Jar::class) {
archiveBaseName.set("YourPluginName")
archiveExtension.set("aar")
destinationDirectory.set(file("path/to/output/folder"))
from android.sourceSets.main.java.classes
from android.sourceSets.main.resources
from('openCV/build/outputs/aar') { // include OpenCV AAR file
include '*.aar'
}
}
}
Я немного не понимаю, что мне нужно от openCV. Нужны ли мне только файлы .so для каждой архитектуры Android и все файлы из openCV sdk

Подробнее здесь: https://stackoverflow.com/questions/783 ... oid-plugin
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»