From 1d2f0c0fbabc140a7fc8640a2f31f8af991ca1f1 Mon Sep 17 00:00:00 2001 From: Radek Doulik Date: Wed, 30 May 2018 12:25:55 +0200 Subject: [PATCH 1/2] [Xamarin.Android.Build.Tasks] Generate marshal methods for user assemblies Use `jnimarshalmethod-gen` on resolved user assemblies. As a preview feature it is conditional and only enabled when `JniMarshalMethods` is True. This feature implements main part of https://github.com/xamarin/xamarin-android/projects/1 --- .../Xamarin.Android.Common.targets | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index 19fdd25d1ac..790d92f309b 100755 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -1102,6 +1102,7 @@ because xbuild doesn't support framework reference assemblies. <_AndroidComponentResgenFlagFile>$(IntermediateOutputPath)Component.R.cs.flag <_AndroidStripFlag>$(IntermediateOutputPath)strip.flag <_AndroidLinkFlag>$(IntermediateOutputPath)link.flag + <_AndroidJniMarshalMethodsFlag>$(IntermediateOutputPath)jnimarshalmethods.flag <_AndroidApkPerAbiFlagFile>$(IntermediateOutputPath)android\bin\apk_per_abi.flag <_AndroidDebugKeyStoreFlag>$(IntermediateOutputPath)android_debug_keystore.flag <_RemoveRegisterFlag>$(MonoAndroidIntermediateAssetsDir)shrunk\shrunk.flag @@ -2012,7 +2013,7 @@ because xbuild doesn't support framework reference assemblies. + DependsOnTargets="_ResolveAssemblies;_CreatePackageWorkspace;_GenerateJniMarshalMethods;_LinkAssembliesNoShrink;_LinkAssembliesShrink" /> + + + + + + + Date: Mon, 28 May 2018 16:46:29 +0200 Subject: [PATCH 2/2] [build] Prepare Java.Runtime.Environment.Override.dllmap Prepare dllmap override in Java.Interop repo to have Java.Runtime.Environment.dll working with our libmono-android shared library. Introduced `build-tools/scripts/java-interop.dllmap` to share that information between `Java.Interop.dll.config` and `Java.Runtime.Environment.dll.config`. --- Makefile | 1 + build-tools/scripts/java-interop.dllmap | 4 ++++ src/monodroid/monodroid.targets | 13 +++++++------ 3 files changed, 12 insertions(+), 6 deletions(-) create mode 100644 build-tools/scripts/java-interop.dllmap diff --git a/Makefile b/Makefile index 5098e5a180f..a90fec52437 100644 --- a/Makefile +++ b/Makefile @@ -115,6 +115,7 @@ prepare-props: prepare-deps cp "$(call GetPath,JavaInterop)/product.snk" "$(call GetPath,MonoSource)" cp build-tools/scripts/Configuration.Java.Interop.Override.props external/Java.Interop/Configuration.Override.props cp $(call GetPath,MonoSource)/mcs/class/msfinal.pub . + cp build-tools/scripts/java-interop.dllmap external/Java.Interop/Java.Runtime.Environment.Override.dllmap prepare-msbuild: prepare-props ifeq ($(USE_MSBUILD),1) diff --git a/build-tools/scripts/java-interop.dllmap b/build-tools/scripts/java-interop.dllmap new file mode 100644 index 00000000000..989096481a4 --- /dev/null +++ b/build-tools/scripts/java-interop.dllmap @@ -0,0 +1,4 @@ + + + + diff --git a/src/monodroid/monodroid.targets b/src/monodroid/monodroid.targets index 53b9ef0ac3d..005772c43ed 100644 --- a/src/monodroid/monodroid.targets +++ b/src/monodroid/monodroid.targets @@ -146,14 +146,15 @@ + + +