.NET Embedding starter kit for mobile development.
- Android (Java):
- Xamarin.Android 7.5 or later
- Android Studio 3.x with Java 1.8
- iOS (Obj-C):
- macOS 10.12 (Sierra) or later
- Xcode 8.3.2 or later
- Mono 5.0
Android NDK v15 (Embeddinator-4000/issues#574)
- Shared code;
- Navigation between Xamarin and Native;
- Tests
Main folders of starter kit:
e4k
- sources of E4K as submodule;dotnet
- shared .NET code & Xamarin libraries for Android and iOS;android
- sample Android project (Java);ios
- sample iOS project (Obj-C).
- Clone the repository with submodules;
- Build E4K from sources (see below);
- Open
dotnet/DotNet.sln
via Visual Studio for Mac; - Write your code, compile in Release;
- Execute scripts for embedding (see below);
- Open Android/iOS native projects for the check.
./build-e4k.sh
- build E4K from sources (default: all)
- android - parameter for build only for Android (
./build-e4k.sh android
) - ios - parameter for build only for iOS (
./build-e4k.sh ios
)
Before embedding to the native libraries need to build projects with Visual Studio with Release configuration.
./build-android.sh
- embedding DotNet.AndroidLibrary to aar and copy to Android native project folder;
./build-ios.sh
- embedding DotNet.IosLibrary to framework and copy to iOS native project folder;
output-android/
- E4K generated output for Android library.output-ios/
- E4K generated output for iOS library.
Most problems related to E4K and dependencies, see here: https://github.com/mono/Embeddinator-4000/issues
.framework
size: mono/Embeddinator-4000#601 (comment)- limitations with arrays on Android: mono/Embeddinator-4000#508
© 2018 Yauheni Pakala | MIT