Reduce App size
By default, the Anyline SDK ships trained models for all the supported use cases. This will increase your app size significantly, but there is a simple way to remove the assets you do not need.
These are the modules you will need for each technical capability:
Technical Capability | Module |
---|---|
VIN |
ocr |
Container |
ocr |
OCR |
ocr |
Barcode |
barcode |
Meter |
energy |
Universal ID |
id |
MRZ |
id |
Japanese Landing Permission |
id |
License Plate |
license_plate |
TIN |
tire |
Tire Size |
tire |
Commercial Tire ID |
tire |
Include List
If you only want to include specific assets, add the following Target
to your project’s .csproj
file.
In ModulesToKeep
, list all the modules that you want to keep and divide them by the delimiter ‘;
‘.
For example, add the following if you want to keep Container
and Barcode
:
<Target Name="FilterAnylineAssets" BeforeTargets="_CreateBaseApkWithAapt2">
<MSBuild
Properties="ModulesToKeep=ocr;barcode"
Projects="$(MSBuildProjectFile)" Targets="_RemoveAnylineModules"
/>
</Target>
<Target Name="FilterAnylineAssets" BeforeTargets="_CreateAssetPackManifest">
<MSBuild
Properties="ModulesToKeep=ocr;barcode"
Projects="$(MSBuildProjectFile)" Targets="_RemoveAnylineModules"
/>
</Target>
And you are done! Your final app will contain only the modules specified above.
Exclude List
For explicitly excluding modules, add the following Target
to your project’s .csproj
file, and keep on this list to be removed only
the scan modes you do not need:
<Target Name="RemoveModules" BeforeTargets="_CreateBaseApkWithAapt2">
<RemoveDir Directories="$(ProjectDir)obj\**\assets\anyline\module_id" />
<RemoveDir Directories="$(ProjectDir)obj\**\assets\anyline\module_license_plate" />
<RemoveDir Directories="$(ProjectDir)obj\**\assets\anyline\module_anyline_ocr" />
<RemoveDir Directories="$(ProjectDir)obj\**\assets\anyline\module_energy" />
<RemoveDir Directories="$(ProjectDir)obj\**\assets\anyline\module_barcode" />
<RemoveDir Directories="$(ProjectDir)obj\**\assets\anyline\module_tire" />
</Target>
<Target Name="RemoveModules" BeforeTargets="_CreateAssetPackManifest">
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_id" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_license_plate" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_anyline_ocr" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_energy" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_barcode" />
<RemoveDir Directories="$(AppBundleDir)\AnylineResources.bundle\module_tire" />
</Target>
Now, your final app will contain all the Anyline modules, except the ones specified in your .csproj
file.