dynamsoft-capture-vision-react-native 3.4.1300 → 3.4.3010
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +4 -4
- package/README.md +62 -62
- package/android/README.md +14 -14
- package/android/build.gradle +167 -163
- package/android/gradle.properties +20 -20
- package/android/settings.gradle +5 -5
- package/android/src/main/AndroidManifest.xml +6 -6
- package/android/src/main/AndroidManifest_noPackage.xml +5 -5
- package/android/src/main/cpp/CMakeLists.txt +21 -21
- package/android/src/main/cpp/ImgHO.cpp +94 -94
- package/android/src/main/cpp/ImgHO.h +34 -34
- package/android/src/main/cpp/JsiCore.cpp +296 -296
- package/android/src/main/cpp/JsiCore.h +51 -51
- package/android/src/main/cpp/JsiCvr.cpp +332 -332
- package/android/src/main/cpp/JsiCvr.h +54 -54
- package/android/src/main/cpp/JsiDbr.cpp +283 -283
- package/android/src/main/cpp/JsiDbr.h +26 -26
- package/android/src/main/cpp/JsiDce.cpp +59 -59
- package/android/src/main/cpp/JsiDce.h +17 -17
- package/android/src/main/cpp/JsiDcp.cpp +51 -51
- package/android/src/main/cpp/JsiDcp.h +31 -31
- package/android/src/main/cpp/JsiDdn.cpp +50 -50
- package/android/src/main/cpp/JsiDdn.h +28 -28
- package/android/src/main/cpp/JsiDlr.cpp +60 -60
- package/android/src/main/cpp/JsiDlr.h +26 -26
- package/android/src/main/cpp/JsiUtility.cpp +604 -604
- package/android/src/main/cpp/JsiUtility.h +26 -26
- package/android/src/main/cpp/RawBuffer.cpp +23 -23
- package/android/src/main/cpp/RawBuffer.h +24 -24
- package/android/src/main/cpp/android_log.h +14 -14
- package/android/src/main/dysJniLibsFor86/debug/arm64-v8a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor86/debug/armeabi-v7a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor86/debug/x86/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor86/debug/x86_64/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor86/release/arm64-v8a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor86/release/armeabi-v7a/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor86/release/x86/librn_dys.so +0 -0
- package/android/src/main/dysJniLibsFor86/release/x86_64/librn_dys.so +0 -0
- package/android/src/main/java/com/dynamsoft/reactnativelib/CVRModule.kt +137 -137
- package/android/src/main/java/com/dynamsoft/reactnativelib/CameraViewManager.kt +62 -62
- package/android/src/main/java/com/dynamsoft/reactnativelib/DCEModule.kt +125 -125
- package/android/src/main/java/com/dynamsoft/reactnativelib/DynamsoftBaseModule.kt +8 -8
- package/android/src/main/java/com/dynamsoft/reactnativelib/ISAModule.kt +73 -73
- package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewManager.kt +14 -14
- package/android/src/main/java/com/dynamsoft/reactnativelib/ImageEditorViewModule.kt +35 -35
- package/android/src/main/java/com/dynamsoft/reactnativelib/ImageManagerModule.kt +15 -15
- package/android/src/main/java/com/dynamsoft/reactnativelib/LicenseModule.kt +29 -29
- package/android/src/main/java/com/dynamsoft/reactnativelib/MultiCrossFilterModule.kt +83 -83
- package/android/src/main/java/com/dynamsoft/reactnativelib/ReactNativeDcvPackage.kt +32 -32
- package/android/src/main/java/com/dynamsoft/reactnativelib/VersionsModule.kt +41 -41
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/Basic.kt +44 -44
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCore.kt +50 -50
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForCvr.kt +129 -129
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDBR.kt +157 -157
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCE.kt +110 -110
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDCP.kt +49 -49
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDDN.kt +85 -85
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ForDLR.kt +72 -72
- package/android/src/main/java/com/dynamsoft/reactnativelib/basicutils/ImageUtil.kt +58 -58
- package/android/src/main/java/com/dynamsoft/reactnativelib/core/ImageSourceAdapterModuleImpl.kt +120 -120
- package/android/src/main/java/com/dynamsoft/reactnativelib/cvr/CaptureVisionRouterModuleImpl.kt +306 -306
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraEnhancerModuleImpl.kt +247 -247
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraLifeCycleOwner.java +14 -14
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/CameraViewManagerImpl.kt +77 -77
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewManagerImpl.kt +15 -15
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/ImageEditorViewModuleImpl.kt +110 -110
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNCameraView.kt +20 -20
- package/android/src/main/java/com/dynamsoft/reactnativelib/dce/RNImageEditorView.kt +19 -19
- package/android/src/main/java/com/dynamsoft/reactnativelib/license/LicenseModuleImpl.kt +39 -39
- package/android/src/main/java/com/dynamsoft/reactnativelib/utility/ImageManagerModuleImpl.kt +120 -120
- package/android/src/main/java/com/dynamsoft/reactnativelib/utility/MultiCrossFilterModuleImpl.kt +111 -111
- package/app.plugin.js +21 -21
- package/dynamsoft-capture-vision-react-native.podspec +24 -24
- package/ios/CPP/DSImageData+HostObject.h +18 -18
- package/ios/CPP/DSImageData+HostObject.mm +38 -38
- package/ios/CPP/ImageDataHostObject.cpp +87 -87
- package/ios/CPP/ImageDataHostObject.hpp +35 -35
- package/ios/CPP/MutableRawBuffer.cpp +23 -23
- package/ios/CPP/MutableRawBuffer.hpp +23 -23
- package/ios/CPP/RNDynamsoft+JSI.h +22 -22
- package/ios/CPP/RNDynamsoft+JSI.mm +303 -303
- package/ios/CPP/RNDynamsoft+Json.h +93 -93
- package/ios/CPP/RNDynamsoft+Json.m +733 -733
- package/ios/CPP/YeetJSIUtils.h +56 -56
- package/ios/CPP/YeetJSIUtils.mm +208 -208
- package/ios/RNDynamsoftCameraView.h +31 -31
- package/ios/RNDynamsoftCameraView.m +108 -108
- package/ios/RNDynamsoftCameraViewManager.h +14 -14
- package/ios/RNDynamsoftCameraViewManager.m +195 -195
- package/ios/RNDynamsoftCaptureVisionRouter.h +18 -18
- package/ios/RNDynamsoftCaptureVisionRouter.mm +532 -532
- package/ios/RNDynamsoftImageEditorView.h +17 -17
- package/ios/RNDynamsoftImageEditorView.m +25 -25
- package/ios/RNDynamsoftImageEditorViewManager.h +14 -14
- package/ios/RNDynamsoftImageEditorViewManager.mm +183 -183
- package/ios/RNDynamsoftImageManager.h +14 -14
- package/ios/RNDynamsoftImageManager.mm +369 -369
- package/ios/RNDynamsoftImageSourceAdapter.h +19 -19
- package/ios/RNDynamsoftImageSourceAdapter.mm +255 -255
- package/ios/RNDynamsoftLicense.h +14 -14
- package/ios/RNDynamsoftLicense.m +62 -62
- package/ios/RNDynamsoftMultiCrossFilter.h +14 -14
- package/ios/RNDynamsoftMultiCrossFilter.m +145 -145
- package/ios/RNDynamsoftVersions.h +13 -13
- package/ios/RNDynamsoftVersions.m +27 -27
- package/package.json +48 -48
- package/src/NativeDynamsoftVersionsModule.tsx +20 -20
- package/src/VersionsModule.tsx +7 -7
- package/src/core/CapturedResultBase.tsx +18 -18
- package/src/core/CapturedResultItem.tsx +23 -23
- package/src/core/CoreModule.tsx +9 -9
- package/src/core/DSRect.tsx +29 -29
- package/src/core/EnumCaptureResultItemType.tsx +52 -52
- package/src/core/EnumColourChannelUsageType.tsx +26 -26
- package/src/core/EnumCrossVerificationStatus.tsx +46 -46
- package/src/core/EnumGrayscaleEnhancementMode.tsx +46 -46
- package/src/core/EnumGrayscaleTransformationMode.tsx +35 -35
- package/src/core/EnumImageFileFormat.tsx +6 -6
- package/src/core/EnumPixelFormat.tsx +53 -53
- package/src/core/ImageData.tsx +87 -87
- package/src/core/ImageSourceAdapter.tsx +160 -160
- package/src/core/NativeDynamsoftImageSourceAdapterModule.tsx +29 -29
- package/src/core/Point.tsx +13 -13
- package/src/core/Quadrilateral.tsx +12 -12
- package/src/core/index.tsx +18 -18
- package/src/cvr/CaptureVisionRouter.tsx +683 -683
- package/src/cvr/CaptureVisionRouterModule.tsx +9 -9
- package/src/cvr/CapturedResult.tsx +123 -123
- package/src/cvr/CapturedResultFilter.tsx +13 -13
- package/src/cvr/CapturedResultReceiver.tsx +71 -71
- package/src/cvr/EnumPresetTemplate.tsx +81 -81
- package/src/cvr/NativeDynamsoftCaptureVisionRouterModule.tsx +25 -25
- package/src/cvr/SimplifiedCaptureVisionSettings.tsx +61 -61
- package/src/cvr/index.tsx +11 -11
- package/src/dbr/BarcodeDetails.tsx +51 -51
- package/src/dbr/BarcodeReaderModule.tsx +9 -9
- package/src/dbr/BarcodeResultItem.tsx +65 -65
- package/src/dbr/DecodedBarcodesResult.tsx +14 -14
- package/src/dbr/ECISegment.tsx +23 -23
- package/src/dbr/EnumBarcodeFormat.tsx +112 -112
- package/src/dbr/EnumDeblurMode.tsx +29 -29
- package/src/dbr/EnumLocalizationMode.tsx +27 -27
- package/src/dbr/EnumQRCodeErrorCorrectionLevel.tsx +6 -6
- package/src/dbr/SimplifiedBarcodeReaderSettings.tsx +80 -80
- package/src/dbr/index.tsx +9 -9
- package/src/dce/CameraEnhancer.tsx +254 -254
- package/src/dce/CameraEnhancerModule.tsx +9 -9
- package/src/dce/CameraView.tsx +100 -100
- package/src/dce/DynamsoftCameraViewNativeComponent.ts +96 -96
- package/src/dce/DynamsoftImageEditorViewNativeComponent.ts +9 -9
- package/src/dce/EnumCameraPosition.tsx +25 -25
- package/src/dce/EnumDrawingLayerId.tsx +17 -17
- package/src/dce/EnumEnhancedFeatures.tsx +24 -24
- package/src/dce/EnumFocusMode.tsx +6 -6
- package/src/dce/EnumResolution.tsx +8 -8
- package/src/dce/EnumTorchState.tsx +10 -10
- package/src/dce/FeedBack.tsx +28 -28
- package/src/dce/ImageEditorView.tsx +131 -131
- package/src/dce/NativeDynamsoftCameraViewModule.tsx +47 -47
- package/src/dce/NativeDynamsoftImageEditorViewModule.ts +9 -9
- package/src/dce/index.tsx +13 -13
- package/src/dcp/CodeParserDedicatorModule.tsx +9 -9
- package/src/dcp/CodeParserModule.tsx +9 -9
- package/src/dcp/EnumMappingStatus.tsx +14 -14
- package/src/dcp/EnumValidationStatus.tsx +14 -14
- package/src/dcp/ParsedResult.tsx +14 -14
- package/src/dcp/ParsedResultItem.tsx +50 -50
- package/src/dcp/index.tsx +8 -8
- package/src/ddn/DeskewedImageResultItem.tsx +40 -40
- package/src/ddn/DetectedQuadResultItem.tsx +31 -31
- package/src/ddn/DocumentNormalizerModule.tsx +9 -9
- package/src/ddn/EnhancedImageResultItem.tsx +20 -20
- package/src/ddn/EnumImageColourMode.tsx +14 -14
- package/src/ddn/ProcessedDocumentResult.tsx +27 -27
- package/src/ddn/SimplifiedDocumentNormalizerSettings.tsx +65 -65
- package/src/ddn/index.tsx +11 -11
- package/src/dip/ImageProcessingModule.tsx +9 -9
- package/src/dip/index.tsx +1 -1
- package/src/dlr/CharacterResult.tsx +28 -28
- package/src/dlr/LabelRecognizerModule.tsx +9 -9
- package/src/dlr/RecognizedTextLinesResult.tsx +19 -19
- package/src/dlr/SimplifiedLabelRecognizerSettings.tsx +33 -33
- package/src/dlr/TextLineResultItem.tsx +41 -41
- package/src/dlr/index.tsx +8 -8
- package/src/index.tsx +13 -13
- package/src/license/LicenseManager.tsx +49 -49
- package/src/license/LicenseModule.tsx +9 -9
- package/src/license/NativeDynamsoftLicenseModule.tsx +7 -7
- package/src/license/index.tsx +7 -7
- package/src/utility/CrossVerificationCriteria.tsx +11 -11
- package/src/utility/EnumFilterType.tsx +5 -5
- package/src/utility/ImageManager.tsx +348 -348
- package/src/utility/MultiFrameResultCrossFilter.tsx +183 -183
- package/src/utility/NativeDynamsoftImageManagerModule.tsx +7 -7
- package/src/utility/NativeDynamsoftMultiCrossFilterModule.tsx +18 -18
- package/src/utility/UtilityModule.tsx +9 -9
- package/src/utility/index.tsx +4 -4
- package/android/.gitignore +0 -4
package/LICENSE
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
License Notice
|
|
2
|
-
|
|
3
|
-
The source code of the Dynamsoft Capture Vision (DCV) React Native Edition published here is released under the Apache 2.0 license: http://www.apache.org/licenses/LICENSE-2.0. Dynamsoft Barcode Reader (DBR), Dynamsoft Label Recognizer (DLR), Dynamsoft Document Normalizer (DDN), Dynamsoft Code Parser (DCP) and Dynamsoft Camera Enhancer (DCE) SDK upon which Dynamsoft Capture Vision (DCV) React Native Edition depends are provided under a commercial license from https://www.dynamsoft.com/company/license-agreement/. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4
|
-
|
|
1
|
+
License Notice
|
|
2
|
+
|
|
3
|
+
The source code of the Dynamsoft Capture Vision (DCV) React Native Edition published here is released under the Apache 2.0 license: http://www.apache.org/licenses/LICENSE-2.0. Dynamsoft Barcode Reader (DBR), Dynamsoft Label Recognizer (DLR), Dynamsoft Document Normalizer (DDN), Dynamsoft Code Parser (DCP) and Dynamsoft Camera Enhancer (DCE) SDK upon which Dynamsoft Capture Vision (DCV) React Native Edition depends are provided under a commercial license from https://www.dynamsoft.com/company/license-agreement/. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
4
|
+
|
|
5
5
|
Copyright © 2003– Dynamsoft. All Rights Reserved.
|
package/README.md
CHANGED
|
@@ -1,62 +1,62 @@
|
|
|
1
|
-
# Dynamsoft Capture Vision React-Native Edition
|
|
2
|
-
|
|
3
|
-
Dynamsoft Capture Vision (DCV) is an aggregating SDK of a series of specific functional products, which cover image capturing, content understanding, result parsing, and interactive workflow.
|
|
4
|
-
|
|
5
|
-
1. With the implementation of the Image Source Adapter (ISA) interface, a seamless integration with DCV is possible, allowing easy access to various image sources.
|
|
6
|
-
2. Dynamsoft Barcode Reader (DBR), Dynamsoft Document Normalizer (DDN), and Dynamsoft Label Recognizer (DLR) play crucial roles in reading barcodes, structures, and texts from images.
|
|
7
|
-
3. Dynamsoft Code Parser (DCP) is utilized to extract meaningful fields from text/bytes results, ensuring optimal data parsing capabilities.
|
|
8
|
-
4. To seamlessly access intermediate and final results within the DCV SDK, the Capture Result Receiver (CRR) and Intermediate Result Receiver (IRR) interfaces are provided. After users implement these interfaces and register with DCV, they can obtain the results efficiently and conveniently.
|
|
9
|
-
5. To view and edit the output results, Dynamsoft Camera Enhancer (DCE) provide a suite of robust viewing and editing functions.
|
|
10
|
-
|
|
11
|
-
DCV powers your software development through the following aspects:
|
|
12
|
-
|
|
13
|
-
1. Simplicity with Packable Scenarios
|
|
14
|
-
2. Scalability with Pluggable Components
|
|
15
|
-
3. Flexibility With Customizable Workflows
|
|
16
|
-
4. High Performance With Shared Computations
|
|
17
|
-
5. Bidirectional Interactivity with Intermediate Results
|
|
18
|
-
|
|
19
|
-
DCV enables you to develop highly customizable applications for barcode reading, label recognition, document board detection, and result parsing. These applications offer enterprise-grade performance and can be tailored to meet your specific business needs.
|
|
20
|
-
|
|
21
|
-
## System Requirements
|
|
22
|
-
|
|
23
|
-
### React Native
|
|
24
|
-
|
|
25
|
-
- Supported Version: 0.71.0 or higher (0.75.0+ recommended)
|
|
26
|
-
|
|
27
|
-
### Android
|
|
28
|
-
|
|
29
|
-
- Supported OS: Android 5.0 (API Level 21) or higher.
|
|
30
|
-
- Supported ABI: armeabi-v7a, arm64-v8a, x86 and x86_64.
|
|
31
|
-
- Development Environment:
|
|
32
|
-
- IDE: Android Studio 2024.3.2 suggested.
|
|
33
|
-
- JDK: Java 17 or higher.
|
|
34
|
-
- Gradle: 8.0 or higher.
|
|
35
|
-
|
|
36
|
-
### iOS
|
|
37
|
-
|
|
38
|
-
- Supported OS: iOS 13+.
|
|
39
|
-
- Supported ABI: arm64 and x86_64.
|
|
40
|
-
- Development Environment: Xcode 13+ (Xcode 14.1+ recommended).
|
|
41
|
-
|
|
42
|
-
### Others
|
|
43
|
-
|
|
44
|
-
- Node: 18 or higher
|
|
45
|
-
|
|
46
|
-
## User Guide
|
|
47
|
-
|
|
48
|
-
- [Document Scanner Integration Guide](https://github.com/Dynamsoft/capture-vision-react-native-samples/blob/main/guide-scan-document.md)
|
|
49
|
-
|
|
50
|
-
## Samples
|
|
51
|
-
|
|
52
|
-
You can view all the DCV React Native samples via the following links:
|
|
53
|
-
|
|
54
|
-
- [ScanDocument](https://github.com/Dynamsoft/capture-vision-react-native-samples/tree/main/ScanDocument)
|
|
55
|
-
|
|
56
|
-
## License
|
|
57
|
-
|
|
58
|
-
- You can request a 30-day trial license via the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dcv&utm_source=npm&package=mobile) link.
|
|
59
|
-
|
|
60
|
-
## Contact
|
|
61
|
-
|
|
62
|
-
https://www.dynamsoft.com/company/contact/
|
|
1
|
+
# Dynamsoft Capture Vision React-Native Edition
|
|
2
|
+
|
|
3
|
+
Dynamsoft Capture Vision (DCV) is an aggregating SDK of a series of specific functional products, which cover image capturing, content understanding, result parsing, and interactive workflow.
|
|
4
|
+
|
|
5
|
+
1. With the implementation of the Image Source Adapter (ISA) interface, a seamless integration with DCV is possible, allowing easy access to various image sources.
|
|
6
|
+
2. Dynamsoft Barcode Reader (DBR), Dynamsoft Document Normalizer (DDN), and Dynamsoft Label Recognizer (DLR) play crucial roles in reading barcodes, structures, and texts from images.
|
|
7
|
+
3. Dynamsoft Code Parser (DCP) is utilized to extract meaningful fields from text/bytes results, ensuring optimal data parsing capabilities.
|
|
8
|
+
4. To seamlessly access intermediate and final results within the DCV SDK, the Capture Result Receiver (CRR) and Intermediate Result Receiver (IRR) interfaces are provided. After users implement these interfaces and register with DCV, they can obtain the results efficiently and conveniently.
|
|
9
|
+
5. To view and edit the output results, Dynamsoft Camera Enhancer (DCE) provide a suite of robust viewing and editing functions.
|
|
10
|
+
|
|
11
|
+
DCV powers your software development through the following aspects:
|
|
12
|
+
|
|
13
|
+
1. Simplicity with Packable Scenarios
|
|
14
|
+
2. Scalability with Pluggable Components
|
|
15
|
+
3. Flexibility With Customizable Workflows
|
|
16
|
+
4. High Performance With Shared Computations
|
|
17
|
+
5. Bidirectional Interactivity with Intermediate Results
|
|
18
|
+
|
|
19
|
+
DCV enables you to develop highly customizable applications for barcode reading, label recognition, document board detection, and result parsing. These applications offer enterprise-grade performance and can be tailored to meet your specific business needs.
|
|
20
|
+
|
|
21
|
+
## System Requirements
|
|
22
|
+
|
|
23
|
+
### React Native
|
|
24
|
+
|
|
25
|
+
- Supported Version: 0.71.0 or higher (0.75.0+ recommended)
|
|
26
|
+
|
|
27
|
+
### Android
|
|
28
|
+
|
|
29
|
+
- Supported OS: Android 5.0 (API Level 21) or higher.
|
|
30
|
+
- Supported ABI: armeabi-v7a, arm64-v8a, x86 and x86_64.
|
|
31
|
+
- Development Environment:
|
|
32
|
+
- IDE: Android Studio 2024.3.2 suggested.
|
|
33
|
+
- JDK: Java 17 or higher.
|
|
34
|
+
- Gradle: 8.0 or higher.
|
|
35
|
+
|
|
36
|
+
### iOS
|
|
37
|
+
|
|
38
|
+
- Supported OS: iOS 13+.
|
|
39
|
+
- Supported ABI: arm64 and x86_64.
|
|
40
|
+
- Development Environment: Xcode 13+ (Xcode 14.1+ recommended).
|
|
41
|
+
|
|
42
|
+
### Others
|
|
43
|
+
|
|
44
|
+
- Node: 18 or higher
|
|
45
|
+
|
|
46
|
+
## User Guide
|
|
47
|
+
|
|
48
|
+
- [Document Scanner Integration Guide](https://github.com/Dynamsoft/capture-vision-react-native-samples/blob/main/guide-scan-document.md)
|
|
49
|
+
|
|
50
|
+
## Samples
|
|
51
|
+
|
|
52
|
+
You can view all the DCV React Native samples via the following links:
|
|
53
|
+
|
|
54
|
+
- [ScanDocument](https://github.com/Dynamsoft/capture-vision-react-native-samples/tree/main/ScanDocument)
|
|
55
|
+
|
|
56
|
+
## License
|
|
57
|
+
|
|
58
|
+
- You can request a 30-day trial license via the [Request a Trial License](https://www.dynamsoft.com/customer/license/trialLicense?product=dcv&utm_source=npm&package=mobile) link.
|
|
59
|
+
|
|
60
|
+
## Contact
|
|
61
|
+
|
|
62
|
+
https://www.dynamsoft.com/company/contact/
|
package/android/README.md
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
README
|
|
2
|
-
======
|
|
3
|
-
|
|
4
|
-
If you want to publish the lib as a maven dependency, follow these steps before publishing a new version to npm:
|
|
5
|
-
|
|
6
|
-
1. Be sure to have the Android [SDK](https://developer.android.com/studio/index.html) and [NDK](https://developer.android.com/ndk/guides/index.html) installed
|
|
7
|
-
2. Be sure to have a `local.properties` file in this folder that points to the Android SDK and NDK
|
|
8
|
-
```
|
|
9
|
-
ndk.dir=/Users/{username}/Library/Android/sdk/ndk-bundle
|
|
10
|
-
sdk.dir=/Users/{username}/Library/Android/sdk
|
|
11
|
-
```
|
|
12
|
-
3. Delete the `maven` folder
|
|
13
|
-
4. Run `./gradlew installArchives`
|
|
14
|
-
5. Verify that latest set of generated files is in the maven folder with the correct version number
|
|
1
|
+
README
|
|
2
|
+
======
|
|
3
|
+
|
|
4
|
+
If you want to publish the lib as a maven dependency, follow these steps before publishing a new version to npm:
|
|
5
|
+
|
|
6
|
+
1. Be sure to have the Android [SDK](https://developer.android.com/studio/index.html) and [NDK](https://developer.android.com/ndk/guides/index.html) installed
|
|
7
|
+
2. Be sure to have a `local.properties` file in this folder that points to the Android SDK and NDK
|
|
8
|
+
```
|
|
9
|
+
ndk.dir=/Users/{username}/Library/Android/sdk/ndk-bundle
|
|
10
|
+
sdk.dir=/Users/{username}/Library/Android/sdk
|
|
11
|
+
```
|
|
12
|
+
3. Delete the `maven` folder
|
|
13
|
+
4. Run `./gradlew installArchives`
|
|
14
|
+
5. Verify that latest set of generated files is in the maven folder with the correct version number
|
package/android/build.gradle
CHANGED
|
@@ -1,163 +1,167 @@
|
|
|
1
|
-
def DEFAULT_COMPILE_SDK_VERSION = 34
|
|
2
|
-
def DEFAULT_MIN_SDK_VERSION = 21
|
|
3
|
-
def DEFAULT_TARGET_SDK_VERSION = 34
|
|
4
|
-
|
|
5
|
-
def safeExtGet(prop, fallback) {
|
|
6
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
apply plugin: 'com.android.library'
|
|
10
|
-
apply plugin: "kotlin-android"
|
|
11
|
-
|
|
12
|
-
buildscript {
|
|
13
|
-
def kotlinVersion = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["kotlinVersion"]
|
|
14
|
-
repositories {
|
|
15
|
-
google()
|
|
16
|
-
mavenCentral()
|
|
17
|
-
}
|
|
18
|
-
dependencies {
|
|
19
|
-
classpath 'com.android.tools.build:gradle:8.5.1'
|
|
20
|
-
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
static def supportsNamespace() {
|
|
25
|
-
def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
|
|
26
|
-
def major = parsed[0].toInteger()
|
|
27
|
-
def minor = parsed[1].toInteger()
|
|
28
|
-
return (major == 7 && minor >= 3) || major >= 8
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
def getReactNativeVersion() {
|
|
33
|
-
def packageJsonFile = file("$rootDir/../node_modules/react-native/package.json")
|
|
34
|
-
if (packageJsonFile.exists()) {
|
|
35
|
-
def packageJson = new groovy.json.JsonSlurper().parseText(packageJsonFile.text)
|
|
36
|
-
return packageJson.version
|
|
37
|
-
}
|
|
38
|
-
return "0.82.0"
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
static def getMajor(String version) {
|
|
42
|
-
if (version == "unknown") return 0
|
|
43
|
-
def parts = version.tokenize('.')
|
|
44
|
-
return parts.size() > 0 ? parts[0].toInteger() : 0
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
static def getMinor(String version) {
|
|
48
|
-
if (version == "unknown") return 0
|
|
49
|
-
def parts = version.tokenize('.')
|
|
50
|
-
return parts.size() > 1 ? parts[1].toInteger() : 0
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
android {
|
|
54
|
-
def reactNativeVersion = getReactNativeVersion()
|
|
55
|
-
def versionNumber = getMajor(reactNativeVersion) * 100 + getMinor(reactNativeVersion)
|
|
56
|
-
|
|
57
|
-
if (supportsNamespace()) {
|
|
58
|
-
namespace "com.dynamsoft.reactnativelib"
|
|
59
|
-
sourceSets {
|
|
60
|
-
main {
|
|
61
|
-
manifest.srcFile "src/main/AndroidManifest_noPackage.xml"
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
|
|
67
|
-
defaultConfig {
|
|
68
|
-
minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION)
|
|
69
|
-
targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION)
|
|
70
|
-
versionCode 1
|
|
71
|
-
versionName "1.0"
|
|
72
|
-
|
|
73
|
-
if (versionNumber < 79) {
|
|
74
|
-
externalNativeBuild {
|
|
75
|
-
cmake {
|
|
76
|
-
arguments "-DANDROID_STL=c++_shared"
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
lintOptions {
|
|
82
|
-
abortOnError false
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
if (versionNumber < 79) {
|
|
86
|
-
buildFeatures {
|
|
87
|
-
prefab true
|
|
88
|
-
buildConfig true
|
|
89
|
-
}
|
|
90
|
-
externalNativeBuild {
|
|
91
|
-
cmake {
|
|
92
|
-
path "src/main/cpp/CMakeLists.txt"
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
} else {
|
|
96
|
-
buildTypes {
|
|
97
|
-
release {
|
|
98
|
-
sourceSets {
|
|
99
|
-
main {
|
|
100
|
-
if
|
|
101
|
-
jniLibs.srcDirs = ["src/main/
|
|
102
|
-
} else if (versionNumber >=
|
|
103
|
-
jniLibs.srcDirs = ["src/main/
|
|
104
|
-
} else {
|
|
105
|
-
jniLibs.srcDirs = ["src/main/
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
jniLibs.srcDirs = ["src/main/
|
|
117
|
-
} else {
|
|
118
|
-
jniLibs.srcDirs = ["src/main/
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
maven {
|
|
136
|
-
// Android
|
|
137
|
-
url "$rootDir/../node_modules/
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
//noinspection
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
1
|
+
def DEFAULT_COMPILE_SDK_VERSION = 34
|
|
2
|
+
def DEFAULT_MIN_SDK_VERSION = 21
|
|
3
|
+
def DEFAULT_TARGET_SDK_VERSION = 34
|
|
4
|
+
|
|
5
|
+
def safeExtGet(prop, fallback) {
|
|
6
|
+
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
apply plugin: 'com.android.library'
|
|
10
|
+
apply plugin: "kotlin-android"
|
|
11
|
+
|
|
12
|
+
buildscript {
|
|
13
|
+
def kotlinVersion = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["kotlinVersion"]
|
|
14
|
+
repositories {
|
|
15
|
+
google()
|
|
16
|
+
mavenCentral()
|
|
17
|
+
}
|
|
18
|
+
dependencies {
|
|
19
|
+
classpath 'com.android.tools.build:gradle:8.5.1'
|
|
20
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static def supportsNamespace() {
|
|
25
|
+
def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
|
|
26
|
+
def major = parsed[0].toInteger()
|
|
27
|
+
def minor = parsed[1].toInteger()
|
|
28
|
+
return (major == 7 && minor >= 3) || major >= 8
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
def getReactNativeVersion() {
|
|
33
|
+
def packageJsonFile = file("$rootDir/../node_modules/react-native/package.json")
|
|
34
|
+
if (packageJsonFile.exists()) {
|
|
35
|
+
def packageJson = new groovy.json.JsonSlurper().parseText(packageJsonFile.text)
|
|
36
|
+
return packageJson.version
|
|
37
|
+
}
|
|
38
|
+
return "0.82.0"
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
static def getMajor(String version) {
|
|
42
|
+
if (version == "unknown") return 0
|
|
43
|
+
def parts = version.tokenize('.')
|
|
44
|
+
return parts.size() > 0 ? parts[0].toInteger() : 0
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static def getMinor(String version) {
|
|
48
|
+
if (version == "unknown") return 0
|
|
49
|
+
def parts = version.tokenize('.')
|
|
50
|
+
return parts.size() > 1 ? parts[1].toInteger() : 0
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
android {
|
|
54
|
+
def reactNativeVersion = getReactNativeVersion()
|
|
55
|
+
def versionNumber = getMajor(reactNativeVersion) * 100 + getMinor(reactNativeVersion)
|
|
56
|
+
|
|
57
|
+
if (supportsNamespace()) {
|
|
58
|
+
namespace "com.dynamsoft.reactnativelib"
|
|
59
|
+
sourceSets {
|
|
60
|
+
main {
|
|
61
|
+
manifest.srcFile "src/main/AndroidManifest_noPackage.xml"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
compileSdkVersion safeExtGet('compileSdkVersion', DEFAULT_COMPILE_SDK_VERSION)
|
|
67
|
+
defaultConfig {
|
|
68
|
+
minSdkVersion safeExtGet('minSdkVersion', DEFAULT_MIN_SDK_VERSION)
|
|
69
|
+
targetSdkVersion safeExtGet('targetSdkVersion', DEFAULT_TARGET_SDK_VERSION)
|
|
70
|
+
versionCode 1
|
|
71
|
+
versionName "1.0"
|
|
72
|
+
|
|
73
|
+
if (versionNumber < 79) {
|
|
74
|
+
externalNativeBuild {
|
|
75
|
+
cmake {
|
|
76
|
+
arguments "-DANDROID_STL=c++_shared"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
lintOptions {
|
|
82
|
+
abortOnError false
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (versionNumber < 79) {
|
|
86
|
+
buildFeatures {
|
|
87
|
+
prefab true
|
|
88
|
+
buildConfig true
|
|
89
|
+
}
|
|
90
|
+
externalNativeBuild {
|
|
91
|
+
cmake {
|
|
92
|
+
path "src/main/cpp/CMakeLists.txt"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
} else {
|
|
96
|
+
buildTypes {
|
|
97
|
+
release {
|
|
98
|
+
sourceSets {
|
|
99
|
+
main {
|
|
100
|
+
if(versionNumber >= 86) {
|
|
101
|
+
jniLibs.srcDirs = ["src/main/dysJniLibsFor86/release"]
|
|
102
|
+
} else if (versionNumber >= 82) {
|
|
103
|
+
jniLibs.srcDirs = ["src/main/dysJniLibsFor82/release"]
|
|
104
|
+
} else if (versionNumber >= 81) {
|
|
105
|
+
jniLibs.srcDirs = ["src/main/dysJniLibsFor81/release"]
|
|
106
|
+
} else {
|
|
107
|
+
jniLibs.srcDirs = ["src/main/dysJniLibs/release"]
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
debug {
|
|
113
|
+
sourceSets {
|
|
114
|
+
main {
|
|
115
|
+
if(versionNumber >= 86) {
|
|
116
|
+
jniLibs.srcDirs = ["src/main/dysJniLibsFor86/debug"]
|
|
117
|
+
} else if (versionNumber >= 82) {
|
|
118
|
+
jniLibs.srcDirs = ["src/main/dysJniLibsFor82/debug"]
|
|
119
|
+
} else if (versionNumber >= 81) {
|
|
120
|
+
jniLibs.srcDirs = ["src/main/dysJniLibsFor81/debug"]
|
|
121
|
+
} else {
|
|
122
|
+
jniLibs.srcDirs = ["src/main/dysJniLibs/debug"]
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
repositories {
|
|
133
|
+
google()
|
|
134
|
+
mavenCentral()
|
|
135
|
+
maven {
|
|
136
|
+
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
|
137
|
+
url "$rootDir/../node_modules/react-native/android"
|
|
138
|
+
}
|
|
139
|
+
maven {
|
|
140
|
+
// Android JSC is installed from npm
|
|
141
|
+
url "$rootDir/../node_modules/jsc-android/dist"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
rootProject.allprojects {
|
|
146
|
+
repositories {
|
|
147
|
+
maven {
|
|
148
|
+
url "https://download2.dynamsoft.com/maven/aar"
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
dependencies {
|
|
155
|
+
def kotlinVersion = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["kotlinVersion"]
|
|
156
|
+
|
|
157
|
+
//noinspection GradleDynamicVersion
|
|
158
|
+
implementation 'com.facebook.react:react-native:+'
|
|
159
|
+
compileOnly "com.facebook.react:react-android:+"
|
|
160
|
+
|
|
161
|
+
//noinspection GradleDependency
|
|
162
|
+
|
|
163
|
+
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
|
|
164
|
+
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
|
|
165
|
+
|
|
166
|
+
implementation "com.dynamsoft:capturevisionbundle:3.4.3000"
|
|
167
|
+
}
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# Project-wide Gradle settings.
|
|
2
|
-
# IDE (e.g. Android Studio) users:
|
|
3
|
-
# Gradle settings configured through the IDE *will override*
|
|
4
|
-
# any settings specified in this file.
|
|
5
|
-
# For more details on how to configure your build environment visit
|
|
6
|
-
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
|
7
|
-
# Specifies the JVM arguments used for the daemon process.
|
|
8
|
-
# The setting is particularly useful for tweaking memory settings.
|
|
9
|
-
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
|
10
|
-
# When configured, Gradle will run in incubating parallel mode.
|
|
11
|
-
# This option should only be used with decoupled projects. More details, visit
|
|
12
|
-
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
|
13
|
-
# org.gradle.parallel=true
|
|
14
|
-
android.useAndroidX=true
|
|
15
|
-
android.enableJetifier=true
|
|
16
|
-
|
|
17
|
-
kotlinVersion=1.8.22
|
|
18
|
-
minSdk=21
|
|
19
|
-
targetSdk=36
|
|
20
|
-
compileSdk=36
|
|
1
|
+
# Project-wide Gradle settings.
|
|
2
|
+
# IDE (e.g. Android Studio) users:
|
|
3
|
+
# Gradle settings configured through the IDE *will override*
|
|
4
|
+
# any settings specified in this file.
|
|
5
|
+
# For more details on how to configure your build environment visit
|
|
6
|
+
# http://www.gradle.org/docs/current/userguide/build_environment.html
|
|
7
|
+
# Specifies the JVM arguments used for the daemon process.
|
|
8
|
+
# The setting is particularly useful for tweaking memory settings.
|
|
9
|
+
org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8
|
|
10
|
+
# When configured, Gradle will run in incubating parallel mode.
|
|
11
|
+
# This option should only be used with decoupled projects. More details, visit
|
|
12
|
+
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
|
13
|
+
# org.gradle.parallel=true
|
|
14
|
+
android.useAndroidX=true
|
|
15
|
+
android.enableJetifier=true
|
|
16
|
+
|
|
17
|
+
kotlinVersion=1.8.22
|
|
18
|
+
minSdk=21
|
|
19
|
+
targetSdk=36
|
|
20
|
+
compileSdk=36
|
|
21
21
|
ndkversion=21.4.7075529
|
package/android/settings.gradle
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
rootProject.name = "react-native-dcv-android"
|
|
2
|
-
|
|
3
|
-
if(file("$rootDir/../node_modules/@react-native-community/cli-platform-android/native_modules.gradle").exists()) {
|
|
4
|
-
apply from: file("$rootDir/../node_modules/@react-native-community/cli-platform-android/native_modules.gradle")
|
|
5
|
-
applyNativeModulesSettingsGradle(settings)
|
|
1
|
+
rootProject.name = "react-native-dcv-android"
|
|
2
|
+
|
|
3
|
+
if(file("$rootDir/../node_modules/@react-native-community/cli-platform-android/native_modules.gradle").exists()) {
|
|
4
|
+
apply from: file("$rootDir/../node_modules/@react-native-community/cli-platform-android/native_modules.gradle")
|
|
5
|
+
applyNativeModulesSettingsGradle(settings)
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<!-- AndroidManifest.xml -->
|
|
2
|
-
|
|
3
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
4
|
-
package="com.dynamsoft.reactnativelib">
|
|
5
|
-
|
|
6
|
-
</manifest>
|
|
1
|
+
<!-- AndroidManifest.xml -->
|
|
2
|
+
|
|
3
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
4
|
+
package="com.dynamsoft.reactnativelib">
|
|
5
|
+
|
|
6
|
+
</manifest>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
<!-- AndroidManifest.xml -->
|
|
2
|
-
|
|
3
|
-
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
4
|
-
|
|
5
|
-
</manifest>
|
|
1
|
+
<!-- AndroidManifest.xml -->
|
|
2
|
+
|
|
3
|
+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
|
4
|
+
|
|
5
|
+
</manifest>
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
cmake_minimum_required(VERSION 3.22.1)
|
|
2
|
-
|
|
3
|
-
project("rn_dys")
|
|
4
|
-
|
|
5
|
-
file(GLOB SRC_FILES "*.cpp")
|
|
6
|
-
|
|
7
|
-
add_library(${CMAKE_PROJECT_NAME} SHARED
|
|
8
|
-
${SRC_FILES})
|
|
9
|
-
|
|
10
|
-
find_package(ReactAndroid REQUIRED CONFIG)
|
|
11
|
-
|
|
12
|
-
target_link_libraries(${CMAKE_PROJECT_NAME}
|
|
13
|
-
ReactAndroid::jsi # <-- RN: JSI
|
|
14
|
-
android
|
|
15
|
-
log)
|
|
16
|
-
|
|
17
|
-
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE
|
|
18
|
-
"-Wl,-z,max-page-size=16384"
|
|
19
|
-
"-Wl,--gc-sections"
|
|
20
|
-
"-Wl,--strip-all"
|
|
21
|
-
"-s"
|
|
1
|
+
cmake_minimum_required(VERSION 3.22.1)
|
|
2
|
+
|
|
3
|
+
project("rn_dys")
|
|
4
|
+
|
|
5
|
+
file(GLOB SRC_FILES "*.cpp")
|
|
6
|
+
|
|
7
|
+
add_library(${CMAKE_PROJECT_NAME} SHARED
|
|
8
|
+
${SRC_FILES})
|
|
9
|
+
|
|
10
|
+
find_package(ReactAndroid REQUIRED CONFIG)
|
|
11
|
+
|
|
12
|
+
target_link_libraries(${CMAKE_PROJECT_NAME}
|
|
13
|
+
ReactAndroid::jsi # <-- RN: JSI
|
|
14
|
+
android
|
|
15
|
+
log)
|
|
16
|
+
|
|
17
|
+
target_link_options(${CMAKE_PROJECT_NAME} PRIVATE
|
|
18
|
+
"-Wl,-z,max-page-size=16384"
|
|
19
|
+
"-Wl,--gc-sections"
|
|
20
|
+
"-Wl,--strip-all"
|
|
21
|
+
"-s"
|
|
22
22
|
)
|