3

26.0.2. 나는 27.0.0에서도 그런 문제가 해결 될 것으로 기대했지만 지금도 27.0.0에서 일어난다. Google Play에 앱을 제출하자마자 Crashlytics에서 한 번의 충돌이 발생합니다 (일부 사용자에게 공개 예정). 재현 할 정확한 단계가 무엇인지 모르겠습니다. 지금까지 나는 앱이 시작되었을 때를 가정했습니다.면 ClassNotFound : 지원 라이브러리와 android.view.ViewStructure 26.0.2 - 나는 안드로이드 4.4.2</p> <pre><code>NoClassDefFoundError: android/view/ViewStructure </code></pre> <p>나는 지원 라이브러리 업데이트 이후이 일어나고 된 삼성 갤럭시 S5의 충돌을 볼 27.0.0

관련 보고서 :

java.lang.NoClassDefFoundError: android/graphics/drawable/Icon

ViewDebug.getExportedPropertyMethods java.lang.NoClassDefFound android/graphics/drawable/Icon

내가 지원 라이브러리 27.0.0를 사용하고, compileSdkVersion 27 targetSdkVersion을 25 buildToolsVersion '26 .0.2 ', 안드로이드 플러그인 2.3.3, Gradle을 3.3, Android Studio 3.0. (? 나는 ... 문제가 Gradle을하고 플러그인의 이전 버전에 관련되지 않은 추측하고있어)

나는 ViewStructure가의 지원 라이브러리에 사용되는 볼 수 있습니다

그러나

android.support.design.widget.TextInputLayout 
android.support.design.testutils.ViewStructureImpl 

, I 내 프로젝트에서 ViewStructure를 사용하지 않습니다.

Fatal Exception: java.lang.NoClassDefFoundError: android/view/ViewStructure 
     at java.lang.Class.getDeclaredMethods(Class.java) 
     at java.lang.Class.getDeclaredMethods(Class.java:656) 
     at android.view.ViewDebug.getExportedPropertyMethods(ViewDebug.java:960) 
     at android.view.ViewDebug.exportMethods(ViewDebug.java:1047) 
     at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:997) 
     at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:983) 
     at android.view.ViewDebug.dumpView(ViewDebug.java:900) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:855) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dump(ViewDebug.java:793) 
     at android.view.ViewDebug.dispatchCommand(ViewDebug.java:416) 
     at android.view.ViewRootImpl$W.executeCommand(ViewRootImpl.java:6258) 
     at android.view.IWindow$Stub.onTransact(IWindow.java:65) 
     at android.os.Binder.execTransact(Binder.java:404) 
     at dalvik.system.NativeStart.run(NativeStart.java) 
Caused by java.lang.ClassNotFoundException: Didn't find class "android.view.ViewStructure" on path: DexPathList[[zip file "/data/app/package.name-1.apk"],nativeLibraryDirectories=[/data/app-lib/package.name-1, /vendor/lib, /system/lib]] 
     at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:497) 
     at java.lang.ClassLoader.loadClass(ClassLoader.java:457) 
     at java.lang.Class.getDeclaredMethods(Class.java) 
     at java.lang.Class.getDeclaredMethods(Class.java:656) 
     at android.view.ViewDebug.getExportedPropertyMethods(ViewDebug.java:960) 
     at android.view.ViewDebug.exportMethods(ViewDebug.java:1047) 
     at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:997) 
     at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:983) 
     at android.view.ViewDebug.dumpView(ViewDebug.java:900) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:855) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) 
     at android.view.ViewDebug.dump(ViewDebug.java:793) 
     at android.view.ViewDebug.dispatchCommand(ViewDebug.java:416) 
     at android.view.ViewRootImpl$W.executeCommand(ViewRootImpl.java:6258) 
     at android.view.IWindow$Stub.onTransact(IWindow.java:65) 
     at android.os.Binder.execTransact(Binder.java:404) 
     at dalvik.system.NativeStart.run(NativeStart.java) 
+0

은 충돌을 유발한다? – CommonsWare

+0

이 정보로 질문을 편집했습니다. 내가 롤아웃 한 직후 크래시 틱스 (Crashlytics)에서 단일 크래시가 발생합니다 (사용자층의 작은 비율로). 정확히 재현 할 단계가 무엇인지 알 수 없습니다. 지금까지는 아마 앱을 출시 할 때라고 추측했습니다. – Stan

+1

Stack Trace는 Layout Inspector와 같은 유틸리티에서 발생하는 것처럼 보입니다. 'ViewStructure'는 안드로이드 6.0에 추가되었습니다. – CommonsWare

답변

3

이 문제에 대한 원인은이 때문에 사용자가 일반 사용자가되지 않는 것입니다 "hierarchyviewer/DDM이 연결되어있는 경우에만 발생한다."

더 많은 정보는 여기에서 찾을 수 있습니다 : 당신이 그 일을 무엇

https://issuetracker.google.com/issues/68796830

+2

이 버전의 지원 라이브러리에서 이러한 도구를 사용할 수 없다는 것은 이상한 점입니다. 그러나 대답을 듣고 기뻐요! – CommonsWare

관련 문제