从TFS构建服务器签名的Android APK间歇性地崩溃

时间:2017-04-03 15:46:36

标签: android xamarin xamarin.android

  

环境信息:使用C#/ Xamarin / VS2015开发的应用程序。 CI在TFS中构建   构建服务器使用.csproj中指定的密钥库生成签名的APK   文件。 Xamarin版本4.3.0.789和Xamarin.Android版本7.1.0.43。

我遇到的问题是,不时出现这种情况,所产生的APK会在打开某个屏幕/活动时崩溃。当它是一个“有缺陷”的APK时,它总会在同一个屏幕上发生。有效和有故障的APK之间没有代码更改(通过更改无关文件中的注释进行验证以启动CI构建),并且不会更改TFS服务器/环境。

APK之间在设备上没有任何不同,并在多个设备上验证了这一点。是旧版本的Xamarin有同样的问题,尝试更新并继续得到相同的问题。

在调试中本地运行它是不可能重现的。共享运行时已禁用,链接器仅设置为SDK程序集。产生错误APK的构建中没有错误。

下面粘贴的logcat消息引用了SimpleListItem2CheckedIndexedAdapter,它是在一些地方使用的自定义可检查视图。但由于APK大部分时间都能正常工作,我想知道这是不是红鲱鱼。

--------- beginning of system
04-03 15:19:39.894 I/ActivityManager( 1092): START u0 {cmp=PackageName/md5ba12c8fb46bd054e4b4e431f91f82328.VehicleCheckView (has extras)} from uid 10194 on display 0
04-03 15:19:40.039 W/art     (11339): JNI RegisterNativeMethods: attempt to register 0 native methods for md5ac3c6372e65750ca70261904a169a5a9.VehicleCheckFragmentPage
04-03 15:19:40.151 I/MonoDroid(11339): UNHANDLED EXCEPTION:
04-03 15:19:40.154 I/MonoDroid(11339): System.ArgumentException: An item with the same key has already been added.
04-03 15:19:40.154 I/MonoDroid(11339):   at System.ThrowHelper.ThrowArgumentException (System.ExceptionResource resource) [0x0000b] in <7c63250b2e0e4a7ea8b6c66479c70025>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at System.Collections.Generic.Dictionary`2[TKey,TValue].Insert (TKey key, TValue value, System.Boolean add) [0x0008e] in <7c63250b2e0e4a7ea8b6c66479c70025>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at System.Collections.Generic.Dictionary`2[TKey,TValue].Add (TKey key, TValue value) [0x00000] in <7c63250b2e0e4a7ea8b6c66479c70025>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at Java.Interop.TypeManager.RegisterType (System.String java_class, System.Type t) [0x00041] in <255c4ce2d8d0441c8d86df754d96e9d9>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at Android.Runtime.TypeManager.RegisterType (System.String java_class, System.Type t) [0x00000] in <255c4ce2d8d0441c8d86df754d96e9d9>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at Android.Runtime.JNIEnv.RegisterJniNatives (System.IntPtr typeName_ptr, System.Int32 typeName_len, System.IntPtr jniClass, System.IntPtr methods_ptr, System.Int32 methods_len) [0x000de] in <255c4ce2d8d0441c8d86df754d96e9d9>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at (wrapper managed-to-native) Java.Interop.NativeMethods:java_interop_jnienv_call_object_method_a (intptr,intptr&,intptr,intptr,Java.Interop.JniArgumentValue*)
04-03 15:19:40.154 I/MonoDroid(11339):   at Java.Interop.JniEnvironment+InstanceMethods.CallObjectMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args) [0x0006b] in <013bf3b17eee4306bb0bc5e86d09290c>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x0002f] in <013bf3b17eee4306bb0bc5e86d09290c>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at Android.Views.LayoutInflater.Inflate (System.Int32 resource, Android.Views.ViewGroup root, System.Boolean attachToRoot) [0x0005e] in <255c4ce2d8d0441c8d86df754d96e9d9>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at Namespace.SimpleListItem2CheckedIndexedAdapter.GetView (System.Int32 position, Android.Views.View convertView, Android.Views.ViewGroup parent) [0x00015] in <a29411822a8f4191a468d308d15ef1cd>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at Android.Widget.BaseAdapter.n_GetView_ILandroid_view_View_Landroid_view_ViewGroup_ (System.IntPtr jnienv, System.IntPtr native__this, System.Int32 position, System.IntPtr native_convertView, System.IntPtr native_parent) [0x0001a] in <255c4ce2d8d0441c8d86df754d96e9d9>:0 
04-03 15:19:40.154 I/MonoDroid(11339):   at (wrapper dynamic-method) System.Object:b093adad-cfc1-48f4-a34a-b2217060ac97 (intptr,intptr,int,intptr,intptr)
04-03 15:19:40.159 E/mono-rt (11339): Stacktrace:
04-03 15:19:40.159 E/mono-rt (11339): 
04-03 15:19:40.159 E/mono-rt (11339):   at <unknown> <0xffffffff>
04-03 15:19:40.159 E/mono-rt (11339):   at (wrapper managed-to-native) Java.Interop.NativeMethods.java_interop_jnienv_find_class (intptr,intptr&,string) <0x00007>
04-03 15:19:40.159 E/mono-rt (11339):   at Java.Interop.JniEnvironment/Types.FindClass (string) [0x00039] in <013bf3b17eee4306bb0bc5e86d09290c>:0
04-03 15:19:40.159 E/mono-rt (11339):   at Java.Interop.JniType..ctor (string) [0x00007] in <013bf3b17eee4306bb0bc5e86d09290c>:0
04-03 15:19:40.159 E/mono-rt (11339):   at Java.Interop.JniPeerMembers/JniInstanceMethods..ctor (System.Type) [0x0006a] in <013bf3b17eee4306bb0bc5e86d09290c>:0
04-03 15:19:40.159 E/mono-rt (11339):   at Java.Interop.JniPeerMembers/JniInstanceMethods.GetConstructorsForType (System.Type) [0x0003a] in <013bf3b17eee4306bb0bc5e86d09290c>:0
04-03 15:19:40.159 E/mono-rt (11339):   at Java.Interop.JniPeerMembers/JniInstanceMethods.StartCreateInstance (string,System.Type,Java.Interop.JniArgumentValue*) [0x00042] in <013bf3b17eee4306bb0bc5e86d09290c>:0
04-03 15:19:40.159 E/mono-rt (11339):   at Java.Lang.Throwable..ctor (string) [0x00055] in <255c4ce2d8d0441c8d86df754d96e9d9>:0
04-03 15:19:40.159 E/mono-rt (11339):   at Android.Runtime.JavaProxyThrowable..ctor (System.Exception) [0x00007] in <255c4ce2d8d0441c8d86df754d96e9d9>:0
04-03 15:19:40.159 E/mono-rt (11339):   at Java.Lang.Throwable.FromException (System.Exception) [0x00023] in <255c4ce2d8d0441c8d86df754d96e9d9>:0
04-03 15:19:40.159 E/mono-rt (11339):   at Android.Runtime.AndroidEnvironment.UnhandledException (System.Exception) [0x0007e] in <255c4ce2d8d0441c8d86df754d96e9d9>:0
04-03 15:19:40.159 E/mono-rt (11339):   at (wrapper dynamic-method) object.b093adad-cfc1-48f4-a34a-b2217060ac97 (intptr,intptr,int,intptr,intptr) <0x00057>
04-03 15:19:40.159 E/mono-rt (11339):   at (wrapper native-to-managed) object.b093adad-cfc1-48f4-a34a-b2217060ac97 (intptr,intptr,int,intptr,intptr) <0x0008f>
04-03 15:19:40.160 E/mono-rt (11339): /proc/self/maps:

0 个答案:

没有答案