Migrate from v10 to v11
We strongly recommend upgrading to v11.x. All future algorithm improvements, performance optimizations, and new features will be developed exclusively for v11 and later versions. Version 10.x and earlier will only receive critical bug fixes and will not benefit from ongoing innovation.
Why Upgrade to v11?
- Latest Barcode Recognition Algorithms: Access to cutting-edge decoding algorithms and accuracy improvements
- Ongoing Performance Enhancements: Faster processing speeds and better resource optimization
- New Features & Capabilities: Future functionality will only be available in v11+
- Active Development: Version 11 is the actively maintained branch receiving continuous updates
- Long-term Support: Ensure your application stays current with industry standards
β οΈ Version 10.x is in maintenance mode only - no new features or algorithm updates will be backported.
Migrate from v10.x to v11.x
Update the Libraries
Option 1: Add the Library via Maven
-
Open the file
[App Project Root Path]\settings.gradleand add the Maven repository:- groovy
- kts
-
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url "https://download2.dynamsoft.com/maven/aar" } } } -
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url = uri("https://download2.dynamsoft.com/maven/aar") } } }
-
Open the file
[App Project Root Path]\app\build.gradleand add the dependencies:- groovy
- kts
-
dependencies { implementation 'com.dynamsoft:barcodereaderbundle:{version-number}' } -
dependencies { implementation("com.dynamsoft:barcodereaderbundle:{version-number}") }
Please view user guide for the correct version number.
-
Click Sync Now. After the synchronization is complete, the SDK is added to the project.
Option 2: Add the Libraries via Local .aar Files
-
Download the SDK package from the Dynamsoft Website. After unzipping, several aar files can be found in the Dynamsoft\Libs directory:
- π DynamsoftBarcodeReaderBundle.aar
- π DynamsoftCaptureVisionBundle.aar
-
Copy the above .aar files to the target directory such as [App Project Root Path]\app\libs
-
Open the file
[App Project Root Path]\app\build.gradleand add the reference in the dependencies:- groovy
- kts
-
dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) def camerax_version = '1.4.2' implementation "androidx.camera:camera-core:$camerax_version" implementation "androidx.camera:camera-camera2:$camerax_version" implementation "androidx.camera:camera-lifecycle:$camerax_version" implementation "androidx.camera:camera-view:$camerax_version" } -
val camerax_version = "1.4.2" dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.aar")))) implementation("androidx.camera:camera-core:$camerax_version") implementation("androidx.camera:camera-camera2:$camerax_version") implementation("androidx.camera:camera-lifecycle:$camerax_version") implementation("androidx.camera:camera-view:$camerax_version") }
The camera features require the camerax dependencies.
-
Click Sync Now. After the synchronization is complete, the SDK is added to the project.
Update the Template File
You can use the template converter to upgrade your template. View the online template converter
Migrate from v9.x or earlier
Critical: Version 9.x and earlier are on a legacy architecture. All new algorithm development, performance improvements, and features are built exclusively on the DynamsoftCaptureVision (DCV) architecture introduced in v10+.
Staying on v9.x or earlier means:
- β No access to new barcode recognition algorithms
- β No future performance optimizations
- β Missing out on new symbology support
- β Limited to critical security patches only
Upgrading to v11 provides:
- β Access to all future algorithm enhancements
- β Continuous performance improvements
- β New features and capabilities as theyβre released
- β Full technical support and active maintenance
Dynamsoft Barcode Reader SDK has been refactored to integrate with DynamsoftCaptureVision (DCV) architecture since version 10. To upgrade from version 9.x or earlier to 11.x, we recommend you to follow the User Guide and re-write your codes. This section highlights only the key changes and necessary actions for upgrading the SDK.
Update the Template File
You can use the template converter to upgrade your template. View the online template converter
API Change Reference List
License activation:
| Old APIs | New APIs |
|---|---|
BarcodeReader.initLicense |
LicenseManager.initLicense |
Process Single Image:
| Old APIs | New APIs |
|---|---|
BarcodeReader.decodeFile |
CaptureVisionRouter.capture(String filePath, String templateName) |
BarcodeReader.decodeFileInMemory |
CaptureVisionRouter.capture(byte[] fileBytes, String templateName) |
BarcodeReader.decodeBuffer |
CaptureVisionRouter.capture(ImageData imageData, String templateName) |
BarcodeReader.decodeBufferedImage |
CaptureVisionRouter.capture(Bitmap bitmap, String templateName) |
class TextResult |
class BarcodeResultItem |
BarcodeReader.decodeBase64String |
Currently not available. |
Process the video streaming:
| Old APIs | New APIs |
|---|---|
BarcodeReader.setImageSource |
CaptureVisionRouter.setInput |
BarcodeReader.startScanning |
CaptureVisionRouter.startCapturing |
BarcodeReader.stopScanning |
CaptureVisionRouter.stopCapturing |
BarcodeReader.setTextResultListener |
CaptureVisionRouter.addResultReceiver |
BarcodeReader.setIntermediateResultListener |
CaptureVisionRouter.IntermediateResultManager.addResultReceiver |
BarcodeReader.set/getMinImageReadingInterval |
SimplifiedCaptureVisionSettings.minImageCaptureInterval |
BarcodeReader.enableResultVerification |
MultiFrameResultCrossFilter.enableResultCrossVerification |
BarcodeReader.enableDuplicateFilter |
MultiFrameResultCrossFilter.enableResultDeduplication |
interface ImageSource |
interface ImageSourceAdapter |
interface TextResultListener |
interface CapturedResultReceiver |
interface IntermediateResultListener |
interface IntermediateResultReceiver |
class TextResult |
class BarcodeResultItem |
Template and Settings Management:
| Old APIs | New APIs |
|---|---|
BarcodeReader.initRuntimeSettingsWithFile |
CaptureVisionRouter.initSettingsFromFile |
BarcodeReader.initRuntimeSettingsWithString |
CaptureVisionRouter.initSettings |
BarcodeReader.outputSettingsToFile |
CaptureVisionRouter.outputSettingsToFile |
BarcodeReader.outputSettingsToString |
CaptureVisionRouter.outputSettings |
BarcodeReader.resetRuntimeSettings |
CaptureVisionRouter.resetSettings |
BarcodeReader.appendTplFileToRuntimeSettings |
Not available. |
BarcodeReader.appendTplStringToRuntimeSettings |
Not available. |
BarcodeReader.getRuntimeSettings |
CaptureVisionRouter.getSimplifiedSettings |
BarcodeReader.updateRuntimeSettings |
CaptureVisionRouter.updateSettings |
PublicRuntimeSettings.region |
SimplifiedCaptureVisionSettings.roi & SimplifiedCaptureVisionSettings.roiMeasuredInPercentage |
PublicRuntimeSettings.timeout |
SimplifiedCaptureVisionSettings.timeout |
PublicRuntimeSettings.minBarcodeTextLength |
SimplifiedBarcodeReaderSettings.minBarcodeTextLength |
PublicRuntimeSettings.minResultConfidence |
SimplifiedBarcodeReaderSettings.minResultConfidence |
PublicRuntimeSettings.localizationModes |
SimplifiedBarcodeReaderSettings.localizationModes |
PublicRuntimeSettings.expectedBarcodesCount |
SimplifiedBarcodeReaderSettings.expectedBarcodesCount |
PublicRuntimeSettings.barcodeFormatIds |
SimplifiedBarcodeReaderSettings.barcodeFormatIds |
PublicRuntimeSettings.barcodeFormatIds_2 |
SimplifiedBarcodeReaderSettings.barcodeFormatIds |
PublicRuntimeSettings.deblurModes |
SimplifiedBarcodeReaderSettings.deblurModes |
PublicRuntimeSettings.deblurLevel |
Not available, use SimplifiedBarcodeReaderSettings.deblurLevel. |
PublicRuntimeSettings.maxAlgorithmThreadCount |
SimplifiedBarcodeReaderSettings.maxThreadsInOneTask |
FurtherModes.grayscaleTransformationModes |
SimplifiedBarcodeReaderSettings.grayscaleTransformationModes |
FurtherModes.imagePreprocessingModes |
SimplifiedBarcodeReaderSettings.grayscaleEnhancementModes |
FurtherModes.scaleDownThreshold |
SimplifiedBarcodeReaderSettings.scaleDownThreshold |
Please use the online template converter to upgrade your template if you are using initRuntimeSettingsWithFile or initRuntimeSettingsWithString.
Useful links