{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react-native/issues/9091","repository_url":"https://api.github.com/repos/facebook/react-native","labels_url":"https://api.github.com/repos/facebook/react-native/issues/9091/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react-native/issues/9091/comments","events_url":"https://api.github.com/repos/facebook/react-native/issues/9091/events","html_url":"https://github.com/facebook/react-native/issues/9091","id":168387162,"number":9091,"title":"Fatal Exception: java.lang.NoClassDefFoundError: android/graphics/Outline","user":{"login":"bennyguitar","id":2905799,"avatar_url":"https://avatars.githubusercontent.com/u/2905799?v=3","gravatar_id":"","url":"https://api.github.com/users/bennyguitar","html_url":"https://github.com/bennyguitar","followers_url":"https://api.github.com/users/bennyguitar/followers","following_url":"https://api.github.com/users/bennyguitar/following{/other_user}","gists_url":"https://api.github.com/users/bennyguitar/gists{/gist_id}","starred_url":"https://api.github.com/users/bennyguitar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bennyguitar/subscriptions","organizations_url":"https://api.github.com/users/bennyguitar/orgs","repos_url":"https://api.github.com/users/bennyguitar/repos","events_url":"https://api.github.com/users/bennyguitar/events{/privacy}","received_events_url":"https://api.github.com/users/bennyguitar/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-07-29T18:36:49Z","updated_at":"2016-09-02T22:48:28Z","closed_at":null,"body":"**Info:**\r\n\r\n* ReactNative: `0.30`\r\n* Platform: `Android`\r\n* Device: `Nexus 5`\r\n* Android OS: `4.4.2`\r\n* Rooted: `true`\r\n\r\n**Problem:**\r\n\r\nThe problem, as I see it, is that `android.graphics.Outline` was introduced in Lollipop 5.0 and it is used in `ReactViewBackgroundDrawable.java` as an import and as a method parameter. So OSs less than this will crash when this is hit.\r\n\r\n**StackTrace:**\r\n\r\n```\r\nFatal Exception: java.lang.NoClassDefFoundError: android/graphics/Outline\r\n       at java.lang.Class.getDeclaredMethods(Class.java)\r\n       at java.lang.Class.getDeclaredMethods(Class.java:656)\r\n       at android.view.ViewDebug.getExportedPropertyMethods(ViewDebug.java:960)\r\n       at android.view.ViewDebug.exportMethods(ViewDebug.java:1047)\r\n       at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:997)\r\n       at android.view.ViewDebug.exportFields(ViewDebug.java:1175)\r\n       at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:996)\r\n       at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:983)\r\n       at android.view.ViewDebug.dumpView(ViewDebug.java:900)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:855)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)\r\n       at android.view.ViewDebug.dump(ViewDebug.java:793)\r\n       at android.view.ViewDebug.dispatchCommand(ViewDebug.java:416)\r\n       at android.view.ViewRootImpl$W.executeCommand(ViewRootImpl.java:6258)\r\n       at android.view.IWindow$Stub.onTransact(IWindow.java:65)\r\n       at android.os.Binder.execTransact(Binder.java:404)\r\n       at dalvik.system.NativeStart.run(NativeStart.java)\r\nCaused by java.lang.ClassNotFoundException: Didn't find class \"android.graphics.Outline\" on path: DexPathList[[zip file \"/data/app/com.curse.highwind-1.apk\"],nativeLibraryDirectories=[/data/app-lib/com.curse.highwind-1, /vendor/lib, /system/lib]]\r\n       at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)\r\n       at java.lang.ClassLoader.loadClass(ClassLoader.java:497)\r\n       at java.lang.ClassLoader.loadClass(ClassLoader.java:457)\r\n       at java.lang.Class.getDeclaredMethods(Class.java)\r\n       at java.lang.Class.getDeclaredMethods(Class.java:656)\r\n       at android.view.ViewDebug.getExportedPropertyMethods(ViewDebug.java:960)\r\n       at android.view.ViewDebug.exportMethods(ViewDebug.java:1047)\r\n       at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:997)\r\n       at android.view.ViewDebug.exportFields(ViewDebug.java:1175)\r\n       at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:996)\r\n       at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:983)\r\n       at android.view.ViewDebug.dumpView(ViewDebug.java:900)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:855)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)\r\n       at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867)\r\n       at android.view.ViewDebug.dump(ViewDebug.java:793)\r\n       at android.view.ViewDebug.dispatchCommand(ViewDebug.java:416)\r\n       at android.view.ViewRootImpl$W.executeCommand(ViewRootImpl.java:6258)\r\n       at android.view.IWindow$Stub.onTransact(IWindow.java:65)\r\n       at android.os.Binder.execTransact(Binder.java:404)\r\n       at dalvik.system.NativeStart.run(NativeStart.java)\r\n```"},"comment":{"url":"https://api.github.com/repos/facebook/react-native/issues/comments/244504704","html_url":"https://github.com/facebook/react-native/issues/9091#issuecomment-244504704","issue_url":"https://api.github.com/repos/facebook/react-native/issues/9091","id":244504704,"user":{"login":"cymen","id":121034,"avatar_url":"https://avatars.githubusercontent.com/u/121034?v=3","gravatar_id":"","url":"https://api.github.com/users/cymen","html_url":"https://github.com/cymen","followers_url":"https://api.github.com/users/cymen/followers","following_url":"https://api.github.com/users/cymen/following{/other_user}","gists_url":"https://api.github.com/users/cymen/gists{/gist_id}","starred_url":"https://api.github.com/users/cymen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cymen/subscriptions","organizations_url":"https://api.github.com/users/cymen/orgs","repos_url":"https://api.github.com/users/cymen/repos","events_url":"https://api.github.com/users/cymen/events{/privacy}","received_events_url":"https://api.github.com/users/cymen/received_events","type":"User","site_admin":false},"created_at":"2016-09-02T22:48:28Z","updated_at":"2016-09-02T22:48:28Z","body":"Is the bug perhaps that this code here:\r\n\r\nhttps://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewBackgroundDrawable.java#L144-L147\r\n\r\n```java\r\n  public void getOutline(Outline outline) {\r\n    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {\r\n      super.getOutline(outline);\r\n      return;\r\n    }\r\n```\r\n\r\nChecks the build version instead of the running version of Android? It looks like it might try to work around this issue."}}
{"actor":{"display_login":"cymen"}}