开源项目 native-opencv-android-template
使用指南
native-opencv-android-template A tutorial for setting up OpenCV 4.6.0 (and other 4.x.y version) for Android in Android Studio with Native Development Kit (NDK) support for C++ development. 项目地址:https://gitcode.com/gh_mirrors/na/native-opencv-android-template
1. 项目的目录结构及介绍
目录结构
native-opencv-android-template/
├── app/
│ ├── build.gradle
│ ├── src/
│ │ ├── main/
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── cpp/
│ │ │ │ ├── CMakeLists.txt
│ │ │ │ ├── native-lib.cpp
│ │ │ ├── java/
│ │ │ │ ├── com/
│ │ │ │ │ ├── example/
│ │ │ │ │ │ ├── MainActivity.java
│ │ │ ├── res/
│ │ │ │ ├── layout/
│ │ │ │ │ ├── activity_main.xml
├── gradle/
│ ├── wrapper/
│ │ ├── gradle-wrapper.properties
├── gradle.properties
├── build.gradle
├── settings.gradle
目录介绍
app/ : 主应用程序模块。
build.gradle : 应用程序的构建脚本。src/main/ : 主要源代码目录。
AndroidManifest.xml : 应用程序的清单文件。cpp/ : C++源代码目录。
CMakeLists.txt : CMake构建脚本。native-lib.cpp : 主要的C++源文件。 java/ : Java源代码目录。
com/example/ : 包目录。
MainActivity.java : 主活动文件。 res/ : 资源目录。
layout/ : 布局文件目录。
activity_main.xml : 主活动布局文件。 gradle/ : Gradle包装器目录。
wrapper/ : Gradle包装器配置文件目录。
gradle-wrapper.properties : Gradle包装器属性文件。 gradle.properties : Gradle属性文件。build.gradle : 根项目的构建脚本。settings.gradle : 项目设置文件。
2. 项目的启动文件介绍
启动文件
MainActivity.java : 这是应用程序的主活动文件,负责启动应用程序并加载C++库。
package com.example;
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
static {
System.loadLibrary("native-lib");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.sample_text);
tv.setText(stringFromJNI());
}
public native String stringFromJNI();
}
启动文件介绍
MainActivity.java 继承自 AppCompatActivity
,是应用程序的入口点。onCreate
方法中设置了布局文件 activity_main.xml
。stringFromJNI
是一个本地方法,调用C++代码中的函数。
3. 项目的配置文件介绍
配置文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 33
defaultConfig {
applicationId "com.example"
minSdkVersion 28
targetSdkVersion 33
versionCode 1
versionName "1.0"
externalNativeBuild {
cmake {
cppFlags "-std=c++17"
}
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.app
native-opencv-android-template A tutorial for setting up OpenCV 4.6.0 (and other 4.x.y version) for Android in Android Studio with Native Development Kit (NDK) support for C++ development. 项目地址:https://gitcode.com/gh_mirrors/na/native-opencv-android-template