2016-07-04 82 views
0

我在Visual Studio 2015中有一個Xamarin C#項目,使我的Android應用程序使用jCIFS將文件保存到Windows共享文件夾。Android Xamarin將文件保存到Windows共享

這是我使用保存文件的方法,包括:

private async Task Save2Samba(string text) 
     { 
      String sSambaFolder = "192.168.0.22/c"; 
      String url = "smb://" + sSambaFolder + "/file.txt"; 

      byte[] bytes = new byte[text.Length * sizeof(char)]; 
      System.Buffer.BlockCopy(text.ToCharArray(), 0, bytes, 0, bytes.Length); 

      SmbFile file = null; 

      NtlmPasswordAuthentication auth = new NtlmPasswordAuthentication(null, null, null); 
      file = new SmbFile(url, auth); 
      SmbFileOutputStream lol = new SmbFileOutputStream(file); 
      lol.Write(bytes); 
      lol.Flush(); 
      lol.Close(); 

     } 

在運行時,線其中I初始化SmbFileOutputStream投用以下錯誤堆棧

Unhandled Exception: 

Java.Lang.ExceptionInInitializerError: 

07-04 23:10:20.018 D/Mono (22361): Image addref System.Runtime.Serialization[0xb4ab2f40] -> System.Runtime.Serialization.dll[0xb4840200]: 1 
07-04 23:10:20.018 D/Mono (22361): Assembly System.Runtime.Serialization[0xb4ab2f40] added to domain RootDomain, ref_count=1 
07-04 23:10:20.027 D/Mono (22361): AOT module 'System.Runtime.Serialization.dll.so' not found: dlopen failed: library "/data/app/FinalInspection_Droid_Aufbau.FinalInspection_Droid_Aufbau-1/lib/arm/libaot-System.Runtime.Serialization.dll.so" not found 
07-04 23:10:20.036 D/Mono (22361): AOT module '/Users/builder/data/lanes/2923/52635947/source/monodroid/builds/install/mono-armv7/lib/mono/aot-cache/arm/System.Runtime.Serialization.dll.so' not found: dlopen failed: library "/data/app/FinalInspection_Droid_Aufbau.FinalInspection_Droid_Aufbau-1/lib/arm/libaot-System.Runtime.Serialization.dll.so" not found 
07-04 23:10:20.040 D/Mono (22361): Config attempting to parse: 'System.Runtime.Serialization.dll.config'. 
07-04 23:10:20.040 D/Mono (22361): Config attempting to parse: '/Users/builder/data/lanes/2923/52635947/source/monodroid/builds/install/mono-armv7/etc/mono/assemblies/System.Runtime.Serialization/System.Runtime.Serialization.config'. 
07-04 23:10:20.040 D/Mono (22361): Assembly Ref addref Mono.Android[0xb4b214c0] -> System.Runtime.Serialization[0xb4ab2f40]: 2 
07-04 23:10:20.041 D/Mono (22361): Assembly Ref addref System.Runtime.Serialization[0xb4ab2f40] -> mscorlib[0xb4ab2b80]: 17 
Loaded assembly: System.Runtime.Serialization.dll [External] 
07-04 23:10:23.720 D/Mono (22361): DllImport attempting to load: '/system/lib/liblog.so'. 
07-04 23:10:23.721 D/Mono (22361): DllImport loaded library '/system/lib/liblog.so'. 
07-04 23:10:23.725 D/Mono (22361): DllImport searching in: '/system/lib/liblog.so' ('/system/lib/liblog.so'). 
07-04 23:10:23.725 D/Mono (22361): Searching for '__android_log_print'. 
07-04 23:10:23.725 D/Mono (22361): Probing '__android_log_print'. 
07-04 23:10:23.725 D/Mono (22361): Found as '__android_log_print'. 
07-04 23:10:23.734 I/MonoDroid(22361): UNHANDLED EXCEPTION: 
07-04 23:10:23.743 I/MonoDroid(22361): Java.Lang.ExceptionInInitializerError: Exception of type 'Java.Lang.ExceptionInInitializerError' was thrown. ---> Android.OS.NetworkOnMainThreadException: Exception of type 'Android.OS.NetworkOnMainThreadException' was thrown. 
07-04 23:10:23.743 I/MonoDroid(22361): --- End of managed exception stack trace --- 
07-04 23:10:23.743 I/MonoDroid(22361): android.os.NetworkOnMainThreadException 
07-04 23:10:23.743 I/MonoDroid(22361): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147) 
07-04 23:10:23.743 I/MonoDroid(22361): at java.net.InetAddress.lookupHostByName(InetAddress.java:418) 
07-04 23:10:23.743 I/MonoDroid(22361): at java.net.InetAddress.getLocalHost(InetAddress.java:396) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.netbios.NbtAddress.<clinit>(NbtAddress.java:187) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.netbios.NbtAddress.getWINSAddress(NbtAddress.java:533) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.UniAddress.<clinit>(UniAddress.java:62) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.smb.SmbFile.getFirstAddress(SmbFile.java:864) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.smb.SmbFile.connect(SmbFile.java:951) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.smb.SmbFile.connect0(SmbFile.java:880) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.smb.SmbFile.open0(SmbFile.java:972) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.smb.SmbFile.open(SmbFile.java:1006) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:97) 
07-04 23:10:23.743 I/MonoDroid(22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:67) 
07-04 23:10:23.743 I/MonoDroid(22361): at md5ac18087b2af203d2f41df0f73b22a485.BodyInspectionForm_TabFragment.n_onOptionsItemSelected(Native Method) 
07-04 23:10:23.743 I/MonoDroid(22361): at md5ac18087b2af203d2f41df0f73b22a485.BodyInspectionForm_TabFragment.onOptionsItemSelected(BodyInspectionForm_TabFragment.java:47) 
07-04 23:10:23.743 I/MonoDroid(22361): at android.app.Fragment.performOptionsItemSelected(Fragment.java:2159) 
07-04 23:10:23.743 I/MonoDroid(22361): at android.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1988) 
07-04 23:10:23.743 I/MonoDroid(22361): at android.app.Activity.onMenuItemSelected(Activity.java:2970) 
07-04 23:10:23.743 I/MonoDroid(22361): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1136) 
07-04 23:10:23.743 I/MonoDroid(22361): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761) 
07-04 23:10:23.743 I/MonoDroid(22361): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152) 
07-04 23:10:23.743 I/MonoDroid(22361): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904) 
07-04 23:10:23.743 I/MonoDroid(22361): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894) 
07-04 23:10:23.743 I/MonoDroid(22361): at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:186) 
07-04 23:10:23.743 I/MonoDroid(22361): at android.widget.AdapterView.performItemClick(AdapterView.java:305) 
07-04 23:10:23.743 I/MonoDroid(22361): at android.widget.AbsListView.performItemClick(AbsListView.java:1146) 
07-04 23:10:23.743 I/MonoDroid(22361): at android.widget.AbsListView$PerformClick.run(AbsListView.java:3057) 
07-04 23:10:23.743 I/MonoDroid(22361): at android.widget.AbsListView$3.run(AbsListView.java:3864) 
07-04 23:10:23.744 I/MonoDroid(22361): at android.os.Handler.handleCallback(Handler.java:739) 
07-04 23:10:23.744 I/MonoDroid(22361): at android.os.Handler.dispatchMessage(Handler.java:95) 
07-04 23:10:23.744 I/MonoDroid(22361): at android.os.Looper.loop(Looper.java:139) 
07-04 23:10:23.744 I/MonoDroid(22361): at android.app.ActivityThread.main(ActivityThread.java:5298) 
07-04 23:10:23.744 I/MonoDroid(22361): at java.lang.reflect.Method.invoke(Native Method) 
07-04 23:10:23.744 I/MonoDroid(22361): at java.lang.reflect.Method.invoke(Method.java:372) 
07-04 23:10:23.744 I/MonoDroid(22361): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950) 
07-04 23:10:23.744 I/MonoDroid(22361): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745) 
07-04 23:10:23.744 I/MonoDroid(22361): --- End of inner exception stack trace --- 
07-04 23:10:23.744 I/MonoDroid(22361): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/2923/52635947/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
07-04 23:10:23.744 I/MonoDroid(22361): at Java.Interop.JniEnvironment+Object._NewObject (JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00085] in /Users/builder/data/lanes/3340/4e275588/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12200 
07-04 23:10:23.744 I/MonoDroid(22361): at Java.Interop.JniEnvironment+Object.NewObject (JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0000b] in /Users/builder/data/lanes/3340/4e275588/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.Object.cs:33 
07-04 23:10:23.744 I/MonoDroid(22361): at Android.Runtime.JNIEnv.NewObject (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00000] in /Users/builder/data/lanes/3340/4e275588/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.cs:768 
07-04 23:10:23.744 I/MonoDroid(22361): at Android.Runtime.JNIEnv.NewObject (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue[] parms) [0x0001d] in /Users/builder/data/lanes/3340/4e275588/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.cs:786 
07-04 23:10:23.744 I/MonoDroid(22361): at Jcifs.Smb.SmbFileOutputStream..ctor (Jcifs.Smb.SmbFile p0) [0x000b1] in <filename unknown>:0 
07-04 23:10:23.744 I/MonoDroid(22361): at FinalInspection_Droid_Aufbau.BodyInspectionForm+TabFragment.Save2Samba (System.String text) [0x0004d] in E:\dlouhy\Documents\Projects\mitsenden\FinalInspection_Aufbau\Phoneword_Droid\BodyInspectionForm.cs:1527 
07-04 23:10:23.744 I/MonoDroid(22361): at FinalInspection_Droid_Aufbau.BodyInspectionForm+TabFragment.OnOptionsItemSelected (IMenuItem item) [0x0004e] in E:\dlouhy\Documents\Projects\mitsenden\FinalInspection_Aufbau\Phoneword_Droid\BodyInspectionForm.cs:1220 
07-04 23:10:23.744 I/MonoDroid(22361): at Android.App.Fragment.n_OnOptionsItemSelected_Landroid_view_MenuItem_ (IntPtr jnienv, IntPtr native__this, IntPtr native_item) [0x00011] in /Users/builder/data/lanes/3340/4e275588/source/monodroid/src/Mono.Android/platforms/android-17/src/generated/Android.App.Fragment.cs:1350 
07-04 23:10:23.744 I/MonoDroid(22361): at (wrapper dynamic-method) System.Object:15133db7-418a-4549-88a0-cddc3cc27dfe (intptr,intptr,intptr) 
07-04 23:10:23.744 I/MonoDroid(22361): --- End of managed exception stack trace --- 
07-04 23:10:23.744 I/MonoDroid(22361): java.lang.ExceptionInInitializerError 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.netbios.NbtAddress.getWINSAddress(NbtAddress.java:533) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.UniAddress.<clinit>(UniAddress.java:62) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.smb.SmbFile.getFirstAddress(SmbFile.java:864) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.smb.SmbFile.connect(SmbFile.java:951) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.smb.SmbFile.connect0(SmbFile.java:880) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.smb.SmbFile.open0(SmbFile.java:972) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.smb.SmbFile.open(SmbFile.java:1006) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:97) 
07-04 23:10:23.744 I/MonoDroid(22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:67) 
07-04 23:10:23.744 I/MonoDroid(22361): at md5ac18087b2af203d2f41df0f73b22a485.BodyInspectionForm_TabFragment.n_onOptionsItemSelected(Native Method) 
07-04 23:10:23.744 I/MonoDroid(22361): at md5ac18087b2af203d2f41df0f73b22a485.BodyInspectionForm_TabFragment.onOptionsItemSelected(BodyInspectionForm_TabFragment.java:47) 
07-04 23:10:23.744 I/MonoDroid(22361): at android.app.Fragment.performOptionsItemSelected(Fragment.java:2159) 
07-04 23:10:23.744 I/MonoDroid(22361): at android.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1988) 
07-04 23:10:23.744 I/MonoDroid(22361): at android.app.Activity.onMenuItemSelected(Activity.java:2970) 
07-04 23:10:23.745 I/MonoDroid(22361): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1136) 
07-04 23:10:23.745 I/MonoDroid(22361): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761) 
07-04 23:10:23.745 I/MonoDroid(22361): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152) 
07-04 23:10:23.745 I/MonoDroid(22361): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904) 
07-04 23:10:23.745 I/MonoDroid(22361): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894) 
07-04 23:10:23.745 I/MonoDroid(22361): at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:186) 
07-04 23:10:23.745 I/MonoDroid(22361): at android.widget.AdapterView.performItemClick(AdapterView.java:305) 
07-04 23:10:23.745 I/MonoDroid(22361): at android.widget.AbsListView.performItemClick(AbsListView.java:1146) 
07-04 23:10:23.745 I/MonoDroid(22361): at android.widget.AbsListView$PerformClick.run(AbsListView.java:3057) 
07-04 23:10:23.745 I/MonoDroid(22361): at android.widget.AbsListView$3.run(AbsListView.java:3864) 
07-04 23:10:23.745 I/MonoDroid(22361): at android.os.Handler.handleCallback(Handler.java:739) 
07-04 23:10:23.745 I/MonoDroid(22361): at android.os.Handler.dispatchMessage(Handler.java:95) 
07-04 23:10:23.745 I/MonoDroid(22361): at android.os.Looper.loop(Looper.java:139) 
07-04 23:10:23.745 I/MonoDroid(22361): at android.app.ActivityThread.main(ActivityThread.java:5298) 
07-04 23:10:23.745 I/MonoDroid(22361): at java.lang.reflect.Method.invoke(Native Method) 
07-04 23:10:23.745 I/MonoDroid(22361): at java.lang.reflect.Method.invoke(Method.java:372) 
07-04 23:10:23.745 I/MonoDroid(22361): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950) 
07-04 23:10:23.745 I/MonoDroid(22361): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745) 
07-04 23:10:23.745 I/MonoDroid(22361): Caused by: android.os.NetworkOnMainThreadException 
07-04 23:10:23.745 I/MonoDroid(22361): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147) 
07-04 23:10:23.745 I/MonoDroid(22361): at java.net.InetAddress.lookupHostByName(InetAddress.java:418) 
07-04 23:10:23.745 I/MonoDroid(22361): at java.net.InetAddress.getLocalHost(InetAddress.java:396) 
07-04 23:10:23.745 I/MonoDroid(22361): at jcifs.netbios.NbtAddress.<clinit>(NbtAddress.java:187) 
07-04 23:10:23.745 I/MonoDroid(22361): ... 33 more 
07-04 23:10:23.758 D/Mono (22361): DllImport searching in: '__Internal' ('(null)'). 
07-04 23:10:23.758 D/Mono (22361): Searching for 'java_interop_jnienv_throw'. 
07-04 23:10:23.758 D/Mono (22361): Probing 'java_interop_jnienv_throw'. 
07-04 23:10:23.759 D/Mono (22361): Found as 'java_interop_jnienv_throw'. 
An unhandled exception occured. 

referenceTable GDEF length=670 1 
referenceTable GSUB length=7202 1 
referenceTable GPOS length=24560 1 
referenceTable head length=54 1 
referenceTable GDEF length=670 1 
referenceTable GSUB length=7186 1 
referenceTable GPOS length=26464 1 
referenceTable head length=54 1 
07-04 23:10:24.571 E/mono (22361): 
07-04 23:10:24.571 E/mono (22361): Unhandled Exception: 
07-04 23:10:24.571 E/mono (22361): Java.Lang.ExceptionInInitializerError: Exception of type 'Java.Lang.ExceptionInInitializerError' was thrown. ---> Android.OS.NetworkOnMainThreadException: Exception of type 'Android.OS.NetworkOnMainThreadException' was thrown. 
07-04 23:10:24.571 E/mono (22361): 
07-04 23:10:24.571 E/mono (22361): --- End of managed exception stack trace --- 
07-04 23:10:24.571 E/mono (22361): android.os.NetworkOnMainThreadException 
07-04 23:10:24.571 E/mono (22361): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147) 
07-04 23:10:24.571 E/mono (22361): at java.net.InetAddress.lookupHostByName(InetAddress.java:418) 
07-04 23:10:24.571 E/mono (22361): at java.net.InetAddress.getLocalHost(InetAddress.java:396) 
07-04 23:10:24.571 E/mono (22361): at jcifs.netbios.NbtAddress.<clinit>(NbtAddress.java:187) 
07-04 23:10:24.571 E/mono (22361): at jcifs.netbios.NbtAddress.getWINSAddress(NbtAddress.java:533) 
07-04 23:10:24.571 E/mono (22361): at jcifs.UniAddress.<clinit>(UniAddress.java:62) 
07-04 23:10:24.571 E/mono (22361): at jcifs.smb.SmbFile.getFirstAddress(SmbFile.java:864) 
07-04 23:10:24.571 E/mono (22361): at jcifs.smb.SmbFile.connect(SmbFile.java:951) 
07-04 23:10:24.571 E/mono (22361): at jcifs.smb.SmbFile.connect0(SmbFile.java:880) 
07-04 23:10:24.571 E/mono (22361): at jcifs.smb.SmbFile.open0(SmbFile.java:972) 
07-04 23:10:24.571 E/mono (22361): at jcifs.smb.SmbFile.open(SmbFile.java:1006) 
07-04 23:10:24.571 E/mono (22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142) 
07-04 23:10:24.571 E/mono (22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:97) 
07-04 23:10:24.571 E/mono (22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:67) 
07-04 23:10:24.571 E/mono (22361): at md5ac18087b2af203d2f41df0f73b22a485.BodyInspectionForm_TabFragment.n_onOptionsItemSelected(Native Method) 
07-04 23:10:24.571 E/mono (22361): at md5ac18087b2af203d2f41df0f73b22a485.BodyInspectionForm_TabFragment.onOptionsItemSelected(BodyInspectionForm_TabFragment.java:47) 
07-04 23:10:24.571 E/mono (22361): at android.app.Fragment.performOptionsItemSelected(Fragment.java:2159) 
07-04 23:10:24.571 E/mono (22361): at android.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1988) 
07-04 23:10:24.571 E/mono (22361): at android.app.Activity.onMenuItemSelected(Activity.java:2970) 
07-04 23:10:24.571 E/mono (22361): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1136) 
07-04 23:10:24.571 E/mono (22361): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761) 
07-04 23:10:24.571 E/mono (22361): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152) 
07-04 23:10:24.571 E/mono (22361): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904) 
07-04 23:10:24.571 E/mono (22361): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894) 
07-04 23:10:24.571 E/mono (22361): at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:186) 
07-04 23:10:24.571 E/mono (22361): at android.widget.AdapterView.performItemClick(AdapterView.java:305) 
07-04 23:10:24.571 E/mono (22361): at android.widget.AbsListView.performItemClick(AbsListView.java:1146) 
07-04 23:10:24.571 E/mono (22361): at android.widget.AbsListView$PerformClick.run(AbsListView.java:3057) 
07-04 23:10:24.571 E/mono (22361): at android.widget.AbsListView$3.run(AbsListView.java:3864) 
07-04 23:10:24.571 E/mono (22361): at android.os.Handler.handleCallback(Handler.java:739) 
07-04 23:10:24.571 E/mono (22361): at android.os.Handler.dispatchMessage(Handler.java:95) 
07-04 23:10:24.571 E/mono (22361): at android.os.Looper.loop(Looper.java:139) 
07-04 23:10:24.571 E/mono (22361): at android.app.ActivityThread.main(ActivityThread.java:5298) 
07-04 23:10:24.571 E/mono (22361): at java.lang.reflect.Method.invoke(Native Method) 
07-04 23:10:24.571 E/mono (22361): at java.lang.reflect.Method.invoke(Method.java:372) 
07-04 23:10:24.571 E/mono (22361): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950) 
07-04 23:10:24.571 E/mono (22361): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745) 
07-04 23:10:24.571 E/mono (22361): 
07-04 23:10:24.571 E/mono (22361): --- End of inner exception stack trace --- 
07-04 23:10:24.571 E/mono (22361): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/2923/52635947/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
07-04 23:10:24.571 E/mono (22361): at Java.Interop.JniEnvironment+Object._NewObject (JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00085] in /Users/builder/data/lanes/3340/4e275588/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12200 
07-04 23:10:24.571 E/mono (22361): at Java.Interop.JniEnvironment+Object.NewObject (JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0000b] in /Users/builder/data/lanes/3340/4e275588/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.Object.cs:33 
07-04 23:10:24.571 E/mono (22361): at Android.Runtime.JNIEnv.NewObject (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00000] in /Users/builder/data/lanes/3340/4e275588/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.cs:768 
07-04 23:10:24.571 E/mono (22361): at Android.Runtime.JNIEnv.NewObject (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue[] parms) [0 
07-04 23:10:24.571 E/mono-rt (22361): [ERROR] FATAL UNHANDLED EXCEPTION: Java.Lang.ExceptionInInitializerError: Exception of type 'Java.Lang.ExceptionInInitializerError' was thrown. ---> Android.OS.NetworkOnMainThreadException: Exception of type 'Android.OS.NetworkOnMainThreadException' was thrown. 
07-04 23:10:24.571 E/mono-rt (22361): 
07-04 23:10:24.571 E/mono-rt (22361): --- End of managed exception stack trace --- 
07-04 23:10:24.571 E/mono-rt (22361): android.os.NetworkOnMainThreadException 
07-04 23:10:24.571 E/mono-rt (22361): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1147) 
07-04 23:10:24.571 E/mono-rt (22361): at java.net.InetAddress.lookupHostByName(InetAddress.java:418) 
07-04 23:10:24.571 E/mono-rt (22361): at java.net.InetAddress.getLocalHost(InetAddress.java:396) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.netbios.NbtAddress.<clinit>(NbtAddress.java:187) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.netbios.NbtAddress.getWINSAddress(NbtAddress.java:533) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.UniAddress.<clinit>(UniAddress.java:62) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.smb.SmbFile.getFirstAddress(SmbFile.java:864) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.smb.SmbFile.connect(SmbFile.java:951) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.smb.SmbFile.connect0(SmbFile.java:880) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.smb.SmbFile.open0(SmbFile.java:972) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.smb.SmbFile.open(SmbFile.java:1006) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:142) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:97) 
07-04 23:10:24.571 E/mono-rt (22361): at jcifs.smb.SmbFileOutputStream.<init>(SmbFileOutputStream.java:67) 
07-04 23:10:24.571 E/mono-rt (22361): at md5ac18087b2af203d2f41df0f73b22a485.BodyInspectionForm_TabFragment.n_onOptionsItemSelected(Native Method) 
07-04 23:10:24.571 E/mono-rt (22361): at md5ac18087b2af203d2f41df0f73b22a485.BodyInspectionForm_TabFragment.onOptionsItemSelected(BodyInspectionForm_TabFragment.java:47) 
07-04 23:10:24.571 E/mono-rt (22361): at android.app.Fragment.performOptionsItemSelected(Fragment.java:2159) 
07-04 23:10:24.571 E/mono-rt (22361): at android.app.FragmentManagerImpl.dispatchOptionsItemSelected(FragmentManager.java:1988) 
07-04 23:10:24.571 E/mono-rt (22361): at android.app.Activity.onMenuItemSelected(Activity.java:2970) 
07-04 23:10:24.571 E/mono-rt (22361): at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:1136) 
07-04 23:10:24.571 E/mono-rt (22361): at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:761) 
07-04 23:10:24.571 E/mono-rt (22361): at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:152) 
07-04 23:10:24.571 E/mono-rt (22361): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:904) 
07-04 23:10:24.571 E/mono-rt (22361): at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:894) 
07-04 23:10:24.571 E/mono-rt (22361): at com.android.internal.view.menu.MenuPopupHelper.onItemClick(MenuPopupHelper.java:186) 
07-04 23:10:24.571 E/mono-rt (22361): at android.widget.AdapterView.performItemClick(AdapterView.java:305) 
07-04 23:10:24.571 E/mono-rt (22361): at android.widget.AbsListView.performItemClick(AbsListView.java:1146) 
07-04 23:10:24.571 E/mono-rt (22361): at android.widget.AbsListView$PerformClick.run(AbsListView.java:3057) 
07-04 23:10:24.571 E/mono-rt (22361): at android.widget.AbsListView$3.run(AbsListView.java:3864) 
07-04 23:10:24.571 E/mono-rt (22361): at android.os.Handler.handleCallback(Handler.java:739) 
07-04 23:10:24.571 E/mono-rt (22361): at android.os.Handler.dispatchMessage(Handler.java:95) 
07-04 23:10:24.571 E/mono-rt (22361): at android.os.Looper.loop(Looper.java:139) 
07-04 23:10:24.571 E/mono-rt (22361): at android.app.ActivityThread.main(ActivityThread.java:5298) 
07-04 23:10:24.571 E/mono-rt (22361): at java.lang.reflect.Method.invoke(Native Method) 
07-04 23:10:24.571 E/mono-rt (22361): at java.lang.reflect.Method.invoke(Method.java:372) 
07-04 23:10:24.571 E/mono-rt (22361): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950) 
07-04 23:10:24.571 E/mono-rt (22361): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745) 
07-04 23:10:24.571 E/mono-rt (22361): 
07-04 23:10:24.571 E/mono-rt (22361): --- End of inner exception stack trace --- 
07-04 23:10:24.571 E/mono-rt (22361): at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() [0x0000c] in /Users/builder/data/lanes/2923/52635947/source/mono/external/referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs:143 
07-04 23:10:24.571 E/mono-rt (22361): at Java.Interop.JniEnvironment+Object._NewObject (JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x00085] in /Users/builder/data/lanes/3340/4e275588/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.g.cs:12200 
07-04 23:10:24.571 E/mono-rt (22361): at Java.Interop.JniEnvironment+Object.NewObject (JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0000b] in /Users/builder/data/lanes/3340/4e275588/source/Java.Interop/src/Java.Interop/Java.Interop/JniEnvironment.Object.cs:33 
07-04 23:10:24.571 E/mono-rt (22361): at Android.Runtime.JNIEnv.NewObject (IntPtr jclass, IntPtr jmethod, Android.Runtime.JValue* parms) [0x00000] in /Users/builder/data/lanes/3340/4e275588/source/monodroid/src/Mono.Android/src/Runtime/JNIEnv.cs:768 
07-04 23:10:24.571 E/mono-rt (22361): at Android.Runtime.JNIEnv.NewObject (IntPtr jclass, IntPtr jmethod, Android.Runtime.JV 

我添加了一個Java.Lang.ExceptionInInitializerError這些權限給我的AndroidManifest.xml

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> 
<uses-permission android:name="android.permission.INTERNET"/> 

任何人都可以幫助我嗎?

編輯: 根據評論更新了代碼片段。

+1

,開始時,你正在使用127.0.0.1,這是環回地址。您需要使用要連接的計算機的IP或FQDN – Jason

回答

1

更改:

"127.0.0.1/Desktop-l8s2bi3/c" 

爲了您的Samba共享服務器的IP地址或主機名:

"MyWindowsPCDesktop/Desktop-l8s2bi3/c" 

爲 「127.0.0.1」 將被引用的Android設備/模擬器本身。

回覆:https://github.com/sushihangover/Xamarin.Android.jCIFS

// This is NOT best-practice code, just showing a demo Jcifs api call 
public async Task getFileContents() 
{ 
    await Task.Run (() => { 
     var smbStream = new SmbFileInputStream ("smb://[email protected]/code/test.txt"); 
     byte[] b = new byte[8192]; 
     int n; 
     while ((n = smbStream.Read (b)) > 0) { 
      Console.Write (Encoding.UTF8.GetString (b).ToCharArray(), 0, n); 
     } 
     Button button = FindViewById<Button> (Resource.Id.myButton); 
     RunOnUiThread(() => { 
      button.Text = Encoding.UTF8.GetString (b); 
     }); 
    } 
    ).ContinueWith ((Task arg) => { 
     Console.WriteLine (arg.Status); 
     if (arg.Status == TaskStatus.Faulted) 
      Console.WriteLine (arg.Exception); 
    } 
    ); 
} 
+0

我將sSamba文件夾更改爲「IP /文件夾」。我添加了'async',將返回類型改爲'Task',現在當應用程序執行'new SmbFileOutputStrem'時,它只是跳出方法並繼續執行Samba2Save方法後的代碼..我不知道什麼是發生 – jera

+0

要嘗試API,我在我的應用程序中插入了'getFileContents'代碼。當我執行代碼時,沒有任何反應,當通過它進行調試時,Visual Studio打開一個查找源對話框並查找「XAPeerMembers.cs」.. – jera