{"action":"created","issue":{"url":"https://api.github.com/repos/xamarin/xamarin-android/issues/2153","repository_url":"https://api.github.com/repos/xamarin/xamarin-android","labels_url":"https://api.github.com/repos/xamarin/xamarin-android/issues/2153/labels{/name}","comments_url":"https://api.github.com/repos/xamarin/xamarin-android/issues/2153/comments","events_url":"https://api.github.com/repos/xamarin/xamarin-android/issues/2153/events","html_url":"https://github.com/xamarin/xamarin-android/pull/2153","id":357780484,"node_id":"MDExOlB1bGxSZXF1ZXN0MjEzNzE0OTM2","number":2153,"title":"[Xamarin.Android.Build.Tasks] Generate JNI marshal methods","user":{"login":"radekdoulik","id":4147484,"node_id":"MDQ6VXNlcjQxNDc0ODQ=","avatar_url":"https://avatars0.githubusercontent.com/u/4147484?v=4","gravatar_id":"","url":"https://api.github.com/users/radekdoulik","html_url":"https://github.com/radekdoulik","followers_url":"https://api.github.com/users/radekdoulik/followers","following_url":"https://api.github.com/users/radekdoulik/following{/other_user}","gists_url":"https://api.github.com/users/radekdoulik/gists{/gist_id}","starred_url":"https://api.github.com/users/radekdoulik/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/radekdoulik/subscriptions","organizations_url":"https://api.github.com/users/radekdoulik/orgs","repos_url":"https://api.github.com/users/radekdoulik/repos","events_url":"https://api.github.com/users/radekdoulik/events{/privacy}","received_events_url":"https://api.github.com/users/radekdoulik/received_events","type":"User","site_admin":false},"labels":[{"id":1048806988,"node_id":"MDU6TGFiZWwxMDQ4ODA2OTg4","url":"https://api.github.com/repos/xamarin/xamarin-android/labels/run-tests-release","name":"run-tests-release","color":"1d76db","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":11,"created_at":"2018-09-06T18:49:49Z","updated_at":"2018-10-11T19:40:37Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/xamarin/xamarin-android/pulls/2153","html_url":"https://github.com/xamarin/xamarin-android/pull/2153","diff_url":"https://github.com/xamarin/xamarin-android/pull/2153.diff","patch_url":"https://github.com/xamarin/xamarin-android/pull/2153.patch"},"body":"Implementation of https://github.com/xamarin/xamarin-android/issues/2138\r\n\r\nConditionally generate JNI marshal methods for user assemblies and\r\nMono.Android.dll. It is enabled by setting\r\n`AndroidGenerateJniMarshalMethods` to *True*.\r\n\r\nEnable JNI marshal methods in Mono.Android runtime test in Release\r\nconfiguration.\r\n\r\nProfiling results of Xamarn.Forms test running on Pixel 2 XL phone:\r\n\r\nOld marshaling\r\n\r\n     133        1         15 Android.Runtime.JNIEnv:RegisterJniNatives (intptr,int,intptr,intptr,int)\r\n     288        2          1 Android.Runtime.JNIEnv:Initialize (Android.Runtime.JnienvInitializeArgs*)\r\n\r\nNew marshaling\r\n\r\n      68        1         15 Android.Runtime.JNIEnv:RegisterJniNatives (intptr,int,intptr,intptr,int)\r\n     264        2          1 Android.Runtime.JNIEnv:Initialize (Android.Runtime.JnienvInitializeArgs*)\r\n\r\nThe native members registration is about 2 times faster and also the `JNIEnv` is about 20ms faster. \r\n"},"comment":{"url":"https://api.github.com/repos/xamarin/xamarin-android/issues/comments/429091692","html_url":"https://github.com/xamarin/xamarin-android/pull/2153#issuecomment-429091692","issue_url":"https://api.github.com/repos/xamarin/xamarin-android/issues/2153","id":429091692,"node_id":"MDEyOklzc3VlQ29tbWVudDQyOTA5MTY5Mg==","user":{"login":"jonpryor","id":155958,"node_id":"MDQ6VXNlcjE1NTk1OA==","avatar_url":"https://avatars3.githubusercontent.com/u/155958?v=4","gravatar_id":"","url":"https://api.github.com/users/jonpryor","html_url":"https://github.com/jonpryor","followers_url":"https://api.github.com/users/jonpryor/followers","following_url":"https://api.github.com/users/jonpryor/following{/other_user}","gists_url":"https://api.github.com/users/jonpryor/gists{/gist_id}","starred_url":"https://api.github.com/users/jonpryor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonpryor/subscriptions","organizations_url":"https://api.github.com/users/jonpryor/orgs","repos_url":"https://api.github.com/users/jonpryor/repos","events_url":"https://api.github.com/users/jonpryor/events{/privacy}","received_events_url":"https://api.github.com/users/jonpryor/received_events","type":"User","site_admin":false},"created_at":"2018-10-11T19:40:37Z","updated_at":"2018-10-11T19:40:37Z","author_association":"CONTRIBUTOR","body":"@radekdoulik: Looks like things are [still broken](https://jenkins.mono-project.com/job/xamarin-android-pr-builder/4258/):\r\n\r\n```\r\nTask \"Exec\" (TaskId:3132)\r\n  Task Parameter:Command=MONO_PATH=\"/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Release/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/\" \"/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Release/lib/xamarin.android/xbuild/Xamarin/Android/Darwin//mono\" --debug \"/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Release/lib/xamarin.android/xbuild/Xamarin/Android/jnimarshalmethod-gen.exe\" --jvm=\"/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/jli/libjli.dylib\" \"obj/Release/linksrc/Xamarin.Forms.Performance.Integration.Droid.dll\" \"obj/Release/linksrc/FormsViewGroup.dll\" \"obj/Release/linksrc/Newtonsoft.Json.dll\" \"obj/Release/linksrc/Plugin.Connectivity.Abstractions.dll\" \"obj/Release/linksrc/Plugin.Connectivity.dll\" \"obj/Release/linksrc/Xamarin.Android.Arch.Core.Common.dll\" \"obj/Release/linksrc/Xamarin.Android.Arch.Lifecycle.Common.dll\" \"obj/Release/linksrc/Xamarin.Android.Arch.Lifecycle.Runtime.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Animated.Vector.Drawable.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Annotations.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Compat.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Core.UI.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Core.Utils.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Design.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Fragment.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Media.Compat.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Transition.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v4.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.AppCompat.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.CardView.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.MediaRouter.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.Palette.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.RecyclerView.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Vector.Drawable.dll\" \"obj/Release/linksrc/Xamarin.Forms.Core.dll\" \"obj/Release/linksrc/Xamarin.Forms.Platform.Android.dll\" \"obj/Release/linksrc/Xamarin.Forms.Platform.dll\" \"obj/Release/linksrc/Xamarin.Forms.Xaml.dll\" \"obj/Release/linksrc/Mono.Android.dll\" (TaskId:3132)\r\n  MONO_PATH=\"/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Release/lib/xamarin.android/xbuild-frameworks/MonoAndroid/v1.0/\" \"/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Release/lib/xamarin.android/xbuild/Xamarin/Android/Darwin//mono\" --debug \"/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/bin/Release/lib/xamarin.android/xbuild/Xamarin/Android/jnimarshalmethod-gen.exe\" --jvm=\"/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home/jre/lib/jli/libjli.dylib\" \"obj/Release/linksrc/Xamarin.Forms.Performance.Integration.Droid.dll\" \"obj/Release/linksrc/FormsViewGroup.dll\" \"obj/Release/linksrc/Newtonsoft.Json.dll\" \"obj/Release/linksrc/Plugin.Connectivity.Abstractions.dll\" \"obj/Release/linksrc/Plugin.Connectivity.dll\" \"obj/Release/linksrc/Xamarin.Android.Arch.Core.Common.dll\" \"obj/Release/linksrc/Xamarin.Android.Arch.Lifecycle.Common.dll\" \"obj/Release/linksrc/Xamarin.Android.Arch.Lifecycle.Runtime.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Animated.Vector.Drawable.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Annotations.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Compat.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Core.UI.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Core.Utils.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Design.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Fragment.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Media.Compat.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Transition.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v4.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.AppCompat.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.CardView.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.MediaRouter.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.Palette.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.v7.RecyclerView.dll\" \"obj/Release/linksrc/Xamarin.Android.Support.Vector.Drawable.dll\" \"obj/Release/linksrc/Xamarin.Forms.Core.dll\" \"obj/Release/linksrc/Xamarin.Forms.Platform.Android.dll\" \"obj/Release/linksrc/Xamarin.Forms.Platform.dll\" \"obj/Release/linksrc/Xamarin.Forms.Xaml.dll\" \"obj/Release/linksrc/Mono.Android.dll\" (TaskId:3132)\r\n...\r\nEXEC : error : jnimarshalmethod-gen: Unable to process assembly 'obj/Release/linksrc/Xamarin.Forms.Performance.Integration.Droid.dll' [/Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/tests/Xamarin.Forms-Performance-Integration/Droid/Xamarin.Forms.Performance.Integration.Droid.csproj]\r\n  Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. (TaskId:3132)\r\n  System.Reflection.ReflectionTypeLoadException: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown. (TaskId:3132)\r\n    at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool) (TaskId:3132)\r\n    at System.Reflection.Assembly.GetTypes () [0x00000] in /Users/builder/jenkins/workspace/xamarin-android/xamarin-android/external/mono/mcs/class/corlib/System.Reflection/Assembly.cs:410  (TaskId:3132)\r\n    at System.Reflection.Assembly+<get_DefinedTypes>d__141.MoveNext () [0x0001e] in /Users/builder/jenkins/workspace/xamarin-android/xamarin-android/external/mono/mcs/class/corlib/System.Reflection/Assembly.cs:1025  (TaskId:3132)\r\n    at Xamarin.Android.Tools.JniMarshalMethodGenerator.App.CreateMarshalMethodAssembly (System.String path) [0x0034f] in /Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/external/Java.Interop/tools/jnimarshalmethod-gen/App.cs:248  (TaskId:3132)\r\n    at Xamarin.Android.Tools.JniMarshalMethodGenerator.App.ProcessAssemblies (System.Collections.Generic.List`1[T] assemblies) [0x0010a] in /Users/builder/jenkins/workspace/xamarin-android-pr-builder/xamarin-android/external/Java.Interop/tools/jnimarshalmethod-gen/App.cs:179  (TaskId:3132)\r\n```"}}
{"actor":{"display_login":"jonpryor"}}