dotnet / dotnet/android-libraries
Xamarin.Google.MLKit.Common.MlKitException: Failed to initialize detector
- Dominant language
- C#
- Stars
- 317
- Forks
- 73
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 17
Description
### Description
Im using ImageAnalysis to detect objects. This is how I create the detector:
```
var options = new ObjectDetectorOptions.Builder()
.SetDetectorModeAlternative(ObjectDetectorOptionsBase.StreamMode)
.EnableMultipleObjectsAlternative()
.EnableClassificationAlternative()
.Build();
detector = ObjectDetection.GetClient(options);
```
Then I call:
`var result = await detector.Process(input);`
However that line thows:
`{Xamarin.Google.MLKit.Common.MlKitException: Failed to initialize detector. ---> Java.IO.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed --- End of managed Java.IO.FileNotFoundException stack trace --- java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed at android.content.res.AssetManager.nativeOpenAssetFd(Native Method) at android.content.res.AssetManager.openFd(AssetManager.java:1074) at com.google.mlkit.vision.vkp.PipelineManager.zzb(com.google.mlkit:vision-internal-vkp@@18.2.3:1) at com.google.mlkit.vision.vkp.PipelineManager.start(com.google.mlkit:vision-internal-vkp@@18.2.3:22) at com.google.mlkit.vision.objects.defaults.internal.zze.load(com.google.mlkit:object-detection@@17.0.2:16) at com.google.mlkit.common.sdkinternal.ModelResource.zza(com.google.mlkit:common@@18.11.0:4) at com.google.mlkit.common.sdkinternal.zzn.run(Unknown Source:10) at com.google.mlkit.common.sdkinternal.zzt.run(com.google.mlkit:common@@18.11.0:2) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zze(com.google.mlkit:common@@18.11.0:4) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzc(com.google.mlkit:common@@18.11.0:1) at com.google.mlkit.common.sdkinternal.zzi.run(Unknown Source:2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(com.google.mlkit:common@@18.11.0:2) at com.google.mlkit.common.sdkinternal.zzk.run(Unknown Source:2) at java.lang.Thread.run(Thread.java:1012) --- End of managed Java.IO.FileNotFoundException stack trace --- java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed at android.content.res.AssetManager.nativeOpenAssetFd(Native Method) at android.content.res.AssetManager.openFd(AssetManager.java:1074) at com.google.mlkit.vision.vkp.PipelineManager.zzb(com.google.mlkit:vision-internal-vkp@@18.2.3:1) at com.google.mlkit.vision.vkp.PipelineManager.start(com.google.mlkit:vision-internal-vkp@@18.2.3:22) at com.google.mlkit.vision.objects.defaults.internal.zze.load(com.google.mlkit:object-detection@@17.0.2:16) at com.google.mlkit.common.sdkinternal.ModelResource.zza(com.google.mlkit:common@@18.11.0:4) at com.google.mlkit.common.sdkinternal.zzn.run(Unknown Source:10) at com.google.mlkit.common.sdkinternal.zzt.run(com.google.mlkit:common@@18.11.0:2) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zze(com.google.mlkit:common@@18.11.0:4) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzc(com.google.mlkit:common@@18.11.0:1) at com.google.mlkit.common.sdkinternal.zzi.run(Unknown Source:2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(com.google.mlkit:common@@18.11.0:2) at com.google.mlkit.common.sdkinternal.zzk.run(Unknown Source:2) at java.lang.Thread.run(Thread.java:1012) --- End of inner exception stack trace --- at DocumentScanner.DocumentAnalyzer.ProcessAsync(InputImage input, IImageProxy image, Int32 rotationDegrees) in C:\Users\jbern\source\repos\Sherpa\App\library\DocumentScanner\Platforms\Android\DocumentAnalyzer.cs:line 44 at DocumentScanner.BaseAndroidAnalyzer.Analyze(IImageProxy image) in C:\Users\jbern\source\repos\Sherpa\App\library\DocumentScanner\Platforms\Android\BaseAndroidAnalyzer.cs:line 26 --- End of managed Xamarin.Google.MLKit.Common.MlKitException stack trace --- com.google.mlkit.common.MlKitException: Failed to initialize detector. at com.google.mlkit.vision.vkp.PipelineManager.start(com.google.mlkit:vision-internal-vkp@@18.2.3:87) at com.google.mlkit.vision.objects.defaults.internal.zze.load(com.google.mlkit:object-detection@@17.0.2:16) at com.google.mlkit.common.sdkinternal.ModelResource.zza(com.google.mlkit:common@@18.11.0:4) at com.google.mlkit.common.sdkinternal.zzn.run(Unknown Source:10) at com.google.mlkit.common.sdkinternal.zzt.run(com.google.mlkit:common@@18.11.0:2) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zze(com.google.mlkit:common@@18.11.0:4) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzc(com.google.mlkit:common@@18.11.0:1) at com.google.mlkit.common.sdkinternal.zzi.run(Unknown Source:2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(com.google.mlkit:common@@18.11.0:2) at com.google.mlkit.common.sdkinternal.zzk.run(Unknown Source:2) at java.lang.Thread.run(Thread.java:1012) Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed at android.content.res.AssetManager.nativeOpenAssetFd(Native Method) at android.content.res.AssetManager.openFd(AssetManager.java:1074) at com.google.mlkit.vision.vkp.PipelineManager.zzb(com.google.mlkit:vision-internal-vkp@@18.2.3:1) at com.google.mlkit.vision.vkp.PipelineManager.start(com.google.mlkit:vision-internal-vkp@@18.2.3:22) ... 12 more --- End of managed Xamarin.Google.MLKit.Common.MlKitException stack trace --- com.google.mlkit.common.MlKitException: Failed to initialize detector. at com.google.mlkit.vision.vkp.PipelineManager.start(com.google.mlkit:vision-internal-vkp@@18.2.3:87) at com.google.mlkit.vision.objects.defaults.internal.zze.load(com.google.mlkit:object-detection@@17.0.2:16) at com.google.mlkit.common.sdkinternal.ModelResource.zza(com.google.mlkit:common@@18.11.0:4) at com.google.mlkit.common.sdkinternal.zzn.run(Unknown Source:10) at com.google.mlkit.common.sdkinternal.zzt.run(com.google.mlkit:common@@18.11.0:2) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zze(com.google.mlkit:common@@18.11.0:4) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzc(com.google.mlkit:common@@18.11.0:1) at com.google.mlkit.common.sdkinternal.zzi.run(Unknown Source:2) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644) at com.google.mlkit.common.sdkinternal.MlKitThreadPool.zzd(com.google.mlkit:common@@18.11.0:2) at com.google.mlkit.common.sdkinternal.zzk.run(Unknown Source:2) at java.lang.Thread.run(Thread.java:1012) Caused by: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed at android.content.res.AssetManager.nativeOpenAssetFd(Native Method) at android.content.res.AssetManager.openFd(AssetManager.java:1074) at com.google.mlkit.vision.vkp.PipelineManager.zzb(com.google.mlkit:vision-internal-vkp@@18.2.3:1) at com.google.mlkit.vision.vkp.PipelineManager.start(com.google.mlkit:vision-internal-vkp@@18.2.3:22) ... 12 more }`
Im also using MLKit to detect QR Codes and that works without throwing the exception. The settings are almost the same.
Here: https://github.com/google/filament/discussions/5696 it explains how to fix it but no idea how this translates to NET MAUI. Any ideas??
If needed I can create a small repo with something to test
### Steps to Reproduce
1. Create a MAUI project that uses MLKit
2. Create an analyzer that uses ObjectDetector
3. The exception will be thrown when doing the process
### Link to public reproduction project repository
_No response_
### Version with bug
9.0.110 SR12
### Is this a regression from previous behavior?
Not sure, did not test other versions
### Last version that worked well
_No response_
### Affected platforms
Android
### Affected platform versions
_No response_
### Did you find any workaround?
_No response_
### Relevant log output
```shell
```
Contributor guide
Assessment
This issue has not been assessed yet.