Android Studio 和 OpenCV 'Compilation Error' , 'Cannot resolve symbol styleable'

标签 android android-studio opencv

我正在使用 android studio 3.3 版和 openCV 4.0.1 版

在 android studio 中设置 openCV 后,当我运行应用程序检查 openCV 是否加载成功时,出现错误“编译失败”。我检查了问题,发现错误“无法解析符号‘styleable’”。

我已经尝试过清理和重建项目。我还更新了 gradle 脚本的 sdk 版本。

这是我的应用程序 gradle 脚本:


android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.homesafe.test"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets { main { jni.srcDirs = ['src/main/jni', 'src/main/jniLibs/'] } }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation project(':openCVLibrary401')
}

这是我的 openCV gradle 脚本:


android {
    compileSdkVersion 28
    //buildToolsVersion "x.y.z" // not needed since com.android.tools.build:gradle:3.0.0

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 28
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }

    sourceSets {
        main {
            jniLibs.srcDirs = ['../../jni']
            java.srcDirs = ['src']  // TODO Use original files instead of copied into build directory
            aidl.srcDirs = ['src']
            res.srcDirs = ['/build/master_pack-android/opencv/modules/java/android_sdk/android_gradle_lib/res']
            manifest.srcFile 'AndroidManifest.xml'
        }
    }
}

dependencies {
}

enter image description here

我不知道这里有什么问题。有帮助吗?非常感谢!

最佳答案

您需要替换以下行:

res.srcDirs = ['/build/master_pack-android/opencv/modules/java/android_sdk/android_gradle_lib/res']

用这个:

res.srcDirs = ['res']

关于Android Studio 和 OpenCV 'Compilation Error' , 'Cannot resolve symbol styleable',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54206335/

相关文章:

android - 如何从命令行使用 cmake 为已 root 的 Android 设备生成可执行文件?

java - 为什么我的 OpenGL 代码失败了?

java - 在通话期间停止重复闹钟

opencv - 指定openCV中的读取路径

c++ - 在 OpenCV 中不使用 CvSaveImage 将 Mat 图像转换为 JPG

java - 如何获取数组中json子元素的值

android-studio - ScrollView -在Android Studio中需要更多屏幕空间

android - 如何在Android studio中为Project、Library项目编写测试用例

java - 如何在android中制作一个简单的设置页面?

c++ - 使用 LIBELAS 和后过滤算法的视差图不正确