在 Android Studio 中集成 OpenCV 时出错(color.xml,prolog 中不允许的内容)

在 Android Studio 中集成 OpenCV 时出错(color.xml,prolog 中不允许的内容)

我一直在尝试在 Android Studio 中集成/使用 OpenCV。但我一直遇到这个错误。

C:\AndroidStudioProjects\IntegrateOpenCV341\app\src\main\res\values\colors.xml:1:1: Error: Content is not allowed in prolog.

我曾尝试使用:

  • OpenCV-2.4.9-Android-SDK

    原因:大多数教程(已过时)都适用于此版本

  • OpenCV-3.4.1-Android-SDK

    原因: 版本号为最新教程(2018 年 8 月)

  • OpenCV-3.4.6-Android-SDK

    原因:OpenCV sdk android 的第二个最新版本

  • OpenCV-4.1.0-Android-SDK

    原因:截至目前最新版本的 OpenCV sdk android

我完成了以下步骤,没有出现错误:

  1. 导入模块(在项目中)
  2. 添加依赖项
  3. 编辑 OpenCV 的 build.gradle 的 compileSdkversion 和 targetSdkversion 以与应用程序的 build.gradle 匹配
  4. 创建一个名为 jniLibs 的 Native 文件夹(JNI 文件夹),并将 sdk>native>libs 里面的文件复制到其中
  5. 输入此代码来MainActivity.java检查它是否有效*

    package com.example.integrateopencv249; //also tried with 3.4.1 and 4.1.0
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.Toast;
    
    import org.opencv.android.OpenCVLoader;
    
    public class MainActivity extends AppCompatActivity {
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        if(OpenCVLoader.initDebug()) {
            Toast.makeText(getApplicationContext(), "OpenCV successfully loaded", Toast.LENGTH_SHORT).show();
        }
        else{
            Toast.makeText(getApplicationContext(), "OpenCV failed to load", Toast.LENGTH_SHORT).show();
        }
    }
    }
    

但当我运行完最后一步后,它就失败了。

这是 color.xml 里面的内容(与所有版本的 OpenCV sdk 相同)

package org.opencv.core;

import java.util.Arrays;import java.util.List;


public class MatOfRect extends Mat {// 32SC4private static final int _depth = CvType.CV_32S;private static final int

这些是我的 Android Studio 的详细信息:

Android Studio 3.3.2
Build #AI-182.5107.16.33.5314842, built on February 16, 2019
JRE: 1.8.0_152-release-1248-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
(All of the SDK Tools are installed)

我尝试寻找此问题的解决方案,但没有一个对我的情况有帮助。请帮助我 :( 我是一个完全的初学者,我真的想开始学习如何在 Android Studio 中使用 OpenCV。我很感激任何帮助或建议。

注意:第一步之后我没有继续使用 OpenCV 4.1.0,因为模块名称仅显示“java”,并且不会像之前的所有其他版本一样自动更新为“openCVLibrary410”格式。

答案1

错误是由未解析的代码引起的,不仅在 color.xml 中,而且在所有 xml 文件中都是如此。通过以正确的格式编写正确的内容来解决。

相关内容