CSharp to Flutter

Requirements

All the following tools must be in your PATH :

Quick start

Warning Your dotnet project must be at the root of this repository

Simply run the build script

./build.sh -i MyLib.Managed

More advanced usage:

Context: You want to build a library named AwesomeFeature for Android only, and you have the Android NDK installed in $ANDROID_NDK_ROOT but not in $ANDROID_NDK_HOME.

./build.sh -i AwesomeFeature --ndk $ANDROID_NDK_ROOT --no-ios

session recording

Usage

Usage: ./build.sh [options]
Options:
  -h, --help     Print this help and exit
  -i             Input project name (required)
  -g             Generated project name (default: <input-project-name>.Generated)
  -o             Output folder name (default: libs)
  --ndk          Android NDK path (default: ANDROID_NDK_HOME environment variable)
  --no-android   Disable Android build (default: false)
  --no-ios       Disable iOS build (default: false)

What is this?

This script:

  • Run dotnet publish on the CoreRT managed library to get intermediate dlls
  • Copy configuration files templates
  • Android:
    • Run beyondnetgen to generate the C header file and the unmanaged csharp code
    • Build a complete intermediate csproject with the unmanaged csharp code and the generated header file
    • Run dotnet publish on the unmanaged csharp code for the target platforms.
  • iOS:
    • Run beyondnetgen and follow full process to get xframework
  • Copy the generated files to the output folder
Description
No description provided
Readme 30 MiB
Languages
C# 64.4%
Shell 34.9%
Batchfile 0.7%