mono / Embeddinator-4000

Tools to turn .NET libraries into native libraries that can be consumed on Android, iOS, Mac, Linux and other platforms.
MIT License
758 stars 95 forks source link

Can't build Embeddinator-4000 from sources. #723

Open galilov opened 5 years ago

galilov commented 5 years ago

Just try to build Embeddinator-4000. The build script can't download oss-xamarin.android_v8.0.0.37_Darwin-x86_64_HEAD_376f684.zip because this file was removed.

Download-Xamarin-Android

Executing task: Download-Xamarin-Android Downloading Xamarin.Android SDK, this will take a while... Downloading file: https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android/682/Azure/processDownloadRequest/xamarin-android/oss-xamarin.android_v8.0.0.37_Darwin-x86_64_HEAD_376f684.zip An error occurred when executing task 'Download-Xamarin-Android'. Error: System.AggregateException: One or more errors occurred. ---> System.AggregateException: One or more errors occurred. ---> System.Net.Http.HttpRequestException: 404 (Not Found) at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode () [0x0002a] in :0 at Cake.Common.Net.HttpClientExtensions.DownloadFileAsync (System.Net.Http.HttpClient client, System.Uri requestUri, System.String path, System.IProgress`1[T] progress) [0x00096] in :0

Is there any workaround? I need Embeddinator-4000 with android support.

mandel-macaque commented 5 years ago

@galilov I'm adding the appropriate tags so that the right engineers take a look at the issue. Thanks for reporting it!

siejkowski commented 5 years ago

@galilov The script tries to download Xamarin.Android v8.0.0.37. While I was unable to find this version available on the Mono project Jenkins, I've used 8.0.0.36 from https://jenkins.mono-project.com/view/Xamarin.Android/job/xamarin-android-builds-d15-4/14/PublishUrls/ and managed to get Embeddinator working.

You need to copy the files from where 8.0.0.36 is installed. Please read https://github.com/mono/Embeddinator-4000/blob/master/build/Android.cake to get details, the tl;dr is that you need to copy bin/Release of Xamarin.Android to Embeddinator-4000/external/Xamarin.Android and then delete bunch of files (but you can also skip the delete part).

Few other tricky things: you'll need to add JdkInfo file to the Xamarin.Android.Tools.sln and also download the Android NDK, Revision 15c from https://developer.android.com/ndk/downloads/older_releases.html#ndk-15c-downloads (please notice that the 15c version is needed!) and copy it to the ndk-bundle folder of android sdk you're using. Also, few paths in Xamarin.Android.Tools might break along the way, so you might need to update them.