Skip to content

Commit 4f7cd96

Browse files
author
Ven
committed
feat: 拆分opencv
1 parent c8d6ef9 commit 4f7cd96

File tree

9 files changed

+85
-44
lines changed

9 files changed

+85
-44
lines changed

assists/build.gradle

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ dependencies {
3636
implementation 'androidx.appcompat:appcompat:1.6.1'
3737
implementation platform('org.jetbrains.kotlin:kotlin-bom:1.8.22')
3838
api 'com.blankj:utilcodex:1.31.1'
39-
implementation project(':opencv-sdk')
4039
}
4140

4241
apply from: rootProject.file("gradle/maven-publish.gradle")

assists/src/main/java/com/ven/assists/Assists.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,6 @@ object Assists {
140140
fun init(application: Application) {
141141
application.registerActivityLifecycleCallbacks(activityLifecycleCallbacks)
142142
LogUtils.getConfig().globalTag = LOG_TAG
143-
OpencvWrapper.init()
144143
}
145144

146145
/**

opencv-sdk/build.gradle

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,19 +91,19 @@
9191
apply plugin: 'com.android.library'
9292
apply plugin: 'maven-publish'
9393
apply plugin: 'kotlin-android'
94+
apply plugin: 'kotlin-kapt'
9495

9596
def openCVersionName = "4.9.0"
9697
def openCVersionCode = ((4 * 100 + 9) * 100 + 0) * 10 + 0
9798

98-
println "OpenCV: " +openCVersionName + " " + project.buildscript.sourceFile
99+
println "OpenCV: " + openCVersionName + " " + project.buildscript.sourceFile
99100

100101
android {
101102
namespace 'org.opencv'
102-
compileSdkVersion 31
103+
compileSdk 34
103104

104105
defaultConfig {
105-
minSdkVersion 21
106-
targetSdkVersion 31
106+
minSdk 24
107107

108108
versionCode openCVersionCode
109109
versionName openCVersionName
@@ -121,7 +121,6 @@ android {
121121
targetCompatibility JavaVersion.VERSION_1_8
122122
}
123123

124-
125124

126125
buildTypes {
127126
debug {
@@ -168,7 +167,7 @@ android {
168167

169168
externalNativeBuild {
170169
cmake {
171-
path (project.projectDir.toString() + '/libcxx_helper/CMakeLists.txt')
170+
path(project.projectDir.toString() + '/libcxx_helper/CMakeLists.txt')
172171
}
173172
}
174173
}
@@ -181,8 +180,8 @@ publishing {
181180
version = '4.9.0'
182181

183182
afterEvaluate {
184-
from components.release
185-
}
183+
from components.release
184+
}
186185
}
187186
}
188187
repositories {
@@ -194,4 +193,6 @@ publishing {
194193
}
195194

196195
dependencies {
196+
implementation 'androidx.core:core-ktx:1.13.1'
197+
implementation project(':assists')
197198
}
Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,17 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3-
package="org.opencv" >
3+
package="org.opencv">
4+
5+
<application>
6+
<provider
7+
android:name=".assists.AssistsOpencvFileProvider"
8+
android:authorities="${applicationId}.assistsopencv.fileprovider"
9+
android:exported="false"
10+
android:grantUriPermissions="true">
11+
<meta-data
12+
android:name="android.support.FILE_PROVIDER_PATHS"
13+
android:resource="@xml/assists_opencv_provider_paths" />
14+
</provider>
15+
16+
</application>
417
</manifest>
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<paths>
3+
<files-path
4+
name="files_path"
5+
path="." />
6+
7+
<cache-path
8+
name="cache_path"
9+
path="." />
10+
11+
<external-path
12+
name="external_path"
13+
path="." />
14+
15+
<external-files-path
16+
name="external_files_path"
17+
path="." />
18+
19+
<external-cache-path
20+
name="external_cache_path"
21+
path="." />
22+
23+
<external-media-path
24+
name="external_media_path"
25+
path="." />
26+
<!--配置root-path。这样子可以读取到sd卡和一些应用分身的目录,否则微信分身保存的图片,就会导致 java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/999/tencent/MicroMsg/WeiXin/export1544062754693.jpg,在小米6的手机上微信分身有这个crash,华为没有
27+
-->
28+
<root-path
29+
name="root-path"
30+
path="" />
31+
</paths>
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.opencv.assists
2+
3+
import android.app.Activity
4+
import android.app.Activity.RESULT_OK
5+
import android.app.Application
6+
import android.content.Intent
7+
import android.os.Bundle
8+
import androidx.core.content.FileProvider
9+
import com.blankj.utilcode.util.LogUtils
10+
11+
class AssistsOpencvFileProvider : FileProvider() {
12+
override fun onCreate(): Boolean {
13+
val applicationContext = context?.applicationContext
14+
if (applicationContext is Application) {
15+
OpencvWrapper.init()
16+
}
17+
return super.onCreate()
18+
}
19+
}

assists/src/main/java/com/ven/assists/OpencvWrapper.kt renamed to opencv-sdk/java/src/org/opencv/assists/OpencvWrapper.kt

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
package com.ven.assists
1+
package org.opencv.assists
22

33
import android.graphics.Bitmap
44
import android.graphics.BitmapFactory
5-
import android.util.Log
65
import com.blankj.utilcode.util.ActivityUtils
76
import com.blankj.utilcode.util.LogUtils
8-
import com.blankj.utilcode.util.PathUtils
7+
import com.ven.assists.Assists
98
import kotlinx.coroutines.launch
109
import org.opencv.android.OpenCVLoader
1110
import org.opencv.android.Utils
@@ -16,7 +15,6 @@ import org.opencv.core.Point
1615
import org.opencv.core.Rect
1716
import org.opencv.core.Scalar
1817
import org.opencv.imgproc.Imgproc
19-
import java.io.FileOutputStream
2018
import java.io.IOException
2119
import java.io.InputStream
2220
import kotlin.math.abs
@@ -27,9 +25,9 @@ object OpencvWrapper {
2725
fun init() {
2826
Assists.coroutine.launch {
2927
if (OpenCVLoader.initLocal()) {
30-
LogUtils.d("OpenCV loaded successfully")
28+
LogUtils.dTag("123456","OpenCV loaded successfully")
3129
} else {
32-
LogUtils.d("OpenCV initialization failed!")
30+
LogUtils.dTag("123456","OpenCV initialization failed!")
3331
}
3432
}
3533
}
@@ -166,13 +164,4 @@ object OpencvWrapper {
166164
}
167165
}
168166
}
169-
170-
class MinMaxLocResultWrapper(val minMaxLocResult: Core.MinMaxLocResult, val targetMat: Mat?) {
171-
172-
}
173-
174-
175-
class ResultWrapper(val result: Mat, val targetMat: Mat?) {
176-
177-
}
178167
}

simple/build.gradle

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,14 @@ android {
1212
versionName "1.0.0"
1313
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
1414

15-
ndk {
16-
//noinspection ChromeOsAbiSupport
17-
abiFilters "armeabi-v7a"
18-
}
15+
// ndk {
16+
// //noinspection ChromeOsAbiSupport
17+
// abiFilters "armeabi-v7a"
18+
// }
1919
}
2020
buildTypes {
21+
debug {
22+
}
2123
release {
2224
minifyEnabled false
2325
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
@@ -38,6 +40,7 @@ android {
3840
}
3941

4042
dependencies {
43+
implementation fileTree(dir: 'libs', include: ['*.jar'])
4144
implementation project(':assists')
4245
implementation project(':opencv-sdk')
4346
implementation "androidx.room:room-runtime:2.4.3"

simple/src/main/java/com/ven/assists/simple/step/AntForestEnergy.kt

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,14 @@
11
package com.ven.assists.simple.step
22

3-
import android.util.Log
43
import com.blankj.utilcode.util.AppUtils
5-
import com.blankj.utilcode.util.LogUtils
6-
import com.blankj.utilcode.util.PathUtils
7-
import com.blankj.utilcode.util.ResourceUtils
84
import com.ven.assists.Assists
95
import com.ven.assists.Assists.click
106
import com.ven.assists.Assists.containsText
117
import com.ven.assists.Assists.findById
128
import com.ven.assists.Assists.findByText
139
import com.ven.assists.Assists.findFirstParentClickable
14-
import com.ven.assists.Assists.log
1510
import com.ven.assists.AssistsServiceListener
1611
import com.ven.assists.AssistsWindowManager
17-
import com.ven.assists.OpencvWrapper
1812
import com.ven.assists.simple.CaptureLayout
1913
import com.ven.assists.simple.OverManager
2014
import com.ven.assists.stepper.Step
@@ -25,17 +19,10 @@ import kotlinx.coroutines.Dispatchers
2519
import kotlinx.coroutines.delay
2620
import kotlinx.coroutines.launch
2721
import kotlinx.coroutines.withContext
28-
import org.opencv.core.Core
29-
import org.opencv.core.CvType
22+
import org.opencv.assists.OpencvWrapper
3023
import org.opencv.core.Mat
31-
import org.opencv.core.Point
3224
import org.opencv.core.Rect
3325
import org.opencv.core.Scalar
34-
import org.opencv.imgcodecs.Imgcodecs
35-
import org.opencv.imgproc.Imgproc
36-
import java.io.File
37-
import java.util.Collections
38-
import kotlin.math.abs
3926

4027

4128
class AntForestEnergy : StepImpl(), AssistsServiceListener {

0 commit comments

Comments
 (0)