将本机opencv集成到android studio时R.styleable的问题

Jér*_*émy 5 android native android-ndk opencv4android

我将openCV本机lib添加到我的(开发中)项目中。我正在遵循本指南。我在最后一步的烦恼,同时建立我的项目,在OpenCV的,Android的SDK文件夹:CameraGLSurfaceView.java遇到错误cannot find symbol variable styleableR.styleable.CameraBridgeViewBase

我试图attrs.xmlvalues文件夹中添加以下内容:

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <declare-styleable name = "CameraBridgeViewBase" >
        <attr name="show_fps" format="boolean"/>
        <attr name="camera_id" format="integer" >
            <enum name="any" value="-1" />
            <enum name="back" value="2" />
            <enum name="front" value="1" />
        </attr>
    </declare-styleable>
</resources>
Run Code Online (Sandbox Code Playgroud)

正如它在这个非常相似的错误中所说的那样。但是,当我重建项目时,一切都没有改变。

小智 7

在opencv 4中只需更改

res.srcDirs = ['/build/master_pack-android/opencv/modules/java/android_sdk/android_gradle_lib/res']
Run Code Online (Sandbox Code Playgroud)

res.srcDirs = ['res']
Run Code Online (Sandbox Code Playgroud)

在gradle文件中


小智 6

在openCv4中,您需要对OPENCV文件夹的gradle文件(opencv / build.gradle)进行一些更改。您的openCv文件夹位于根目录中。

ApplicationName-> OpenCv-> res

只需复制路径并将gradle文件更新为:

sourceSets {
    main {
                jniLibs.srcDirs = ['../../jni']
                java.srcDirs = ['src']  
                aidl.srcDirs = ['src']
                **res.srcDirs = ['/path-to-your-application/
    ApplicationName/openCv4/res']**
                manifest.srcFile 'AndroidManifest.xml'
            }
  }
Run Code Online (Sandbox Code Playgroud)

我希望这个能帮上忙!

  • 如果您已将OpenCV文件夹放入项目文件夹,则必须编写“ res.srcDirs = ['res']”,这解决了OpenCV 4的问题 (2认同)

Dov*_*Dov 1

我用OpenCV4也出现了这种情况,尝试下载OpenCV3.4