2017-05-18 2 views
3

많은 장치 (224 사건 발생)에 대한 콘솔 (new vitals 섹션)을 Google Play에서이 stacktrace를 얻을 수 있지만 실제로 어떻게 근본 원인을 찾을 수 있습니까? 이 오류 :Xamarin/안드로이드 - java.lang.reflect.InvocationTargetException

java.lang.RuntimeException: 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:679) 
Caused by: java.lang.reflect.InvocationTargetException: 
    at java.lang.reflect.Method.invoke(Native Method:0) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:789) 

누구도 이것을 가지고 있었습니까? 근본 원인을 어떻게 찾을 수 있습니까?

감사합니다.

답변

-3

이것이 Xamarin 자체의 문제인 것으로 보입니다.

저는 공식적인 안드로이드 스튜디오로 전환하는 것이 가장 좋습니다. Xamarin과 같은 이런 종류의 해킹 개발 솔루션이 모든 상황에서 올바르게 작동하는 것이 보장되지 않기 때문입니다.

1

귀하의 앱에 어떤 문제가 있는지 말할 수는 없지만 그런 불투명 한 스택 추적을 얻는 이유에 대해 알려드립니다.

2017 년 5 월 중순, Google은 충돌 데이터 수집 방식을 변경했습니다. 이전에는 충돌 데이터를 수집하는 유일한 방법은 각각의 개별 충돌을보고하는 것이 었습니다. 앱이 추락 한 후에 사용자는 다음에 앱을 열 때 충돌 데이터를 '신고'하라는 메시지가 표시됩니다.

이제 사용자는 고의적으로 각 개별 충돌을보고하지 않고도 충돌 데이터를 자동으로 수신하도록 선택할 수 있습니다 (이전 시스템이 여전히 있음에도 불구하고).

Xamarin Android 앱에보고 된 새 시스템의 충돌로 인해 이전 모델에서 사용할 수 있었던 스택 추적의 상당 부분이 누락되었습니다. 근본적인 이유는 안드로이드의 Zygote 부분에서 트리거 된 예외는 java.lang.Errorjava.lang.Exception 클래스의 특수한 인스턴스이며, Xamarin이 사용하는 java.lang.Throwable에서 상속받지 못합니다.

여기 Xamarin bugzilla 시스템 내에서 길고 자세한 설명이 있습니다 (https://bugzilla.xamarin.com/show_bug.cgi?id=56653). 핵심 문단은 다음과 같습니다.

어느 쪽이든, Xamarin 개발자는 시스템을 수정했으며 새 버전이 나올 때까지 기다려야합니다.

그동안 HockeyApp 또는 Crashlytics와 같은 다른 충돌보고 시스템을 사용하여 특정 문제의 원인을 찾아야합니다.

관련 문제