2023.7.20 Coskx Lab
Android Studio FlamingoでOpenCV(opencv.orgで配布)モジュールをインポートし,アプリを作ろうとしたとき,いくつかのトラブルに出会います。最近のエラー症状とその対処をまとめます。
kotlinが見つからないというエラーメッセージが出ます。
A problem occurred evaluating project ':xxxxxxx'.
< Plugin with id 'kotlin-android' not found.
対処
Gradle Script/build.gradle(Module OpenCV)
の最初のところ,
apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
でkotlinの行をコメントアウトし,次のように変更します。
修正の様子:
apply plugin: 'com.android.library'
//apply plugin: 'kotlin-android'
Namespaceが書いてないというメッセージが出ます。
Namespace not specified. Please specify a namespace in the module's build.gradle file like so:
android {
namespace 'com.example.namespace'
}
If the package attribute is specified in the source AndroidManifest.xml, it can be migrated automatically to the namespace value in the build.gradle file using the AGP Upgrade Assistant; please refer to https://developer.android.com/studio/build/agp-upgrade-assistant for more information.
対処
Gradle Script/build.gradle(Module OpenCV)
android {}
の中に
namespace 'org.opencv'
を追加します。
修正の様子:
android {
namespace 'org.opencv'
compileSdkVersion xx
defaultConfig {
:
engine.OpenCVEngineInterfaceが見つからないというエラーメッセージが出ます。
import org.opencv.engine.OpenCVEngineInterface;
対処
OpenCV/java/org.opencv/engin/OpenCVEngineInterface.aidiが読み込めないためのエラーです。
読み込むように指示します。
Gradle Script/build.gradle(Module OpenCV)
android {}
の中に
buildFeatures {
aidl true
}
を追加します。
修正の様子:
android {
namespace 'org.opencv'
compileSdkVersion xx
:
途中はいろいろ書いてある
:
externalNativeBuild {
cmake {
path (project.projectDir.toString() + '/libcxx_helper/CMakeLists.txt')
}
}
buildFeatures {
aidl true
}
}
実はandroid{}の中であればどこに書いてあってもOKです。
BuildConfigが見つからないというエラーメッセージが出ます。
import org.opencv.BuildConfig;
^
シンボル: クラス BuildConfig
場所: パッケージ org.opencv
対処
Gradle Script/build.gradle(Module app)
android {}
の中に
buildFeatures.buildConfig true
を追加します。