OnnxRuntime So werden Dateien in einer von der Xamarin -App generierten APK -Datei nicht verpackt

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: OnnxRuntime So werden Dateien in einer von der Xamarin -App generierten APK -Datei nicht verpackt

by Anonymous » 12 Jul 2025, 22:16

Ich finde heraus, wie ich mein maschinelles Lernmodell in C#.NET Xamarin Android App ausführen kann. Ich teste es im Android -Gerät, das mit einem Android -Geräte -Manager erstellt wurde und mit VS2022 geliefert wird. Ich habe microsoft.ml.onnxruntime und microsoft.ml.onnxruntime.managed Nuget -Pakete installiert. Ich habe das Modell in eine ONNX -Datei konvertiert und es als Ressource in das Projekt aufgenommen.

Code: Select all

System.DllNotFoundException
Message=onnxruntime assembly: type: member:(null)

[External Code]
>   0xA in MyProjectXamarin.MyProjectModel..ctor at D:\workspace\xamarin-demo\MyProjectXamarin\MyProjectXamarin\MyProjectXamarin\MyProjectModel.cs:21,13    C#
0x95 in MyProjectXamarin.MyProjectModel.CreateFromResources at D:\workspace\xamarin-demo\MyProjectXamarin\MyProjectXamarin\MyProjectXamarin\MyProjectModel.cs:212,13    C#
0x22D in MyProjectXamarin.TrackerDemoPage.InitializeDemo at D:\workspace\xamarin-demo\MyProjectXamarin\MyProjectXamarin\MyProjectXamarin\TrackerDemoPage.cs:148,17  C#
0x3AD in MyProjectXamarin.Droid.AndroidImageSequenceService.LoadImageAsync at D:\workspace\xamarin-demo\MyProjectXamarin\MyProjectXamarin\MyProjectXamarin.Android\AndroidImageSequenceService.cs:94,9  C#
< /code>
In der folgenden Zeile 21 unten: < /p>
12    public class MyProjectModel
13    {
14        private readonly InferenceSession _backboneSession;
15        private readonly InferenceSession _headSession;
16        private NDArray _zf; // Template feature
17
18        public MyProjectModel(byte[] backboneModel, byte[] headModel)
19        {
20            // Create ONNX inference sessions
21            _backboneSession = new InferenceSession(backboneModel);
22            _headSession = new InferenceSession(headModel);
23        }
< /code>
Ich habe den APK meiner App im 7zip -Dateimanager geöffnet. Ich ging zum folgenden Pfad: D: \ Workspace \ xamarin-Demo \ MyProjectxamarin \ MyProjectxamarin \ MyProjectxamarin.Android \ bin \ debug \ com.com.com.mpanyname.myProjectXamarin-Signed.apk \ lib \ lib \ Es enthielt keine Onnxruntime-verwandte *.so-Dateien. Es hat funktioniert. Ich öffnete seinen APK im 7zip-Manager und ging zum Pfad: D: \ Workspace \ xamarin_samples \ onnx_runtime \ Inferencingsample \ Inferencingsample.Android \ bin \ debug \ com.xamcat.onnxruntimes-Signed.apk \ lib \ lib \ arm64-v8a \      bw \ lib \ />  Es enthielt: liBonnXruntime.so 
und liBonnXruntime4j_jni.so
Die APK meiner App enthielt nicht über zwei *.SO -Datei. Es enthält alle restlichen *.so-Dateien wie im Fall einer Beispiel-App (wie libmonodroid.so , libskisharp .so, libxamarin-App.so usw.). Was habe ich vermisst? Ich bin noob in der Xamarin -Entwicklung und verlor auch den Touch der .NET -Entwicklung 😢.

Code: Select all













update
Ich habe es mit Quick Dirty Fix ausprobiert. Ich habe liBonnXruntime extrahiert. Setzen Sie dann ihre Build -Aktionen auf "Androidnatelibrary" in ihren Eigenschaften. Dann habe ich die App neu eingesetzt. Dieses Mal, als ich die generierte APK -Datei im 7zip -Manager eröffnete und diese Dateien tatsächlich in der neu generierten APK verpackt wurden. Aber ich bekomme immer noch den gleichen Fehler.

Top