|
| 1 | +# AndroidX for Xamarin.Android |
| 2 | + |
| 3 | +Xamarin creates and maintains Xamarin.Android bindings for the Google Android Support Libraries and AndroidX. |
| 4 | + |
| 5 | +## Building |
| 6 | + |
| 7 | +Building nuget packages from source requires calling the cake script: |
| 8 | + |
| 9 | +``` |
| 10 | +.\build.ps1 --target=packages |
| 11 | +``` |
| 12 | + |
| 13 | +## Android Support -> AndroidX Roadmap |
| 14 | + |
| 15 | +With the release of AndroidX, Android Support is now considered deprecated and will no longer receive new feature updates. We are committed to helping our developers bring their applications into this new world with minimal effort. |
| 16 | + |
| 17 | +### Goal |
| 18 | +Our goal is to allow developers to take an existing application using Android Support libraries, and reference, build, and run against AndroidX libraries without any code changes. |
| 19 | + |
| 20 | +### Phases |
| 21 | + |
| 22 | +**1. Xamarin Bindings / NuGet Packages for AndroidX** |
| 23 | + |
| 24 | +Provide bindings to all of the new AndroidX packages for Xamarin developers. If you want to migrate your app's code manually to use the new AndroidX API's you can reference these packages. Keep in mind that all of your app's dependencies must also be compiled against AndroidX bindings to use these. |
| 25 | + |
| 26 | +**2. Tooling for Building apps and dependencies with AndroidX** |
| 27 | + |
| 28 | +Implement build tasks in the AndroidX packages to allow your application to utilize AndroidX without any code changes: |
| 29 | + - Dependencies (.NET as well as binding libraries with java and resources in them) will be migrated to the new API's and cached during your first build |
| 30 | + - Your app's compiled code will be migrated to the new API's before the application is packaged |
| 31 | + - Your app's resource and manifest files will be migrated at build time before the application is packaged |
| 32 | + |
| 33 | +**3. Optional One Time Migration Tool** |
| 34 | + |
| 35 | +If your app's code (C#, Resources, Manifest, etc) has not been migrated from Android Support, your build times will be slightly longer. |
| 36 | + |
| 37 | +We will provide a migration assistant to help convert your C# code, xml resources, and AndroidManifest to use the new AndroidX API's which you can optionally use to perform a one time migration of your project. |
| 38 | + |
| 39 | + |
| 40 | +## License |
| 41 | + |
| 42 | +The license for this repository is specified in |
| 43 | +[LICENSE.md](LICENSE.md) |
| 44 | + |
| 45 | +The `externals` build task downloads some external dependencies from Google which are licensed under and subject to the terms of [Android Software Development Kit License Agreement](http://developer.android.com/sdk/terms.html) |
| 46 | + |
| 47 | +## Contribution Guidelines |
| 48 | +The Contribution Guidelines for this repository are listed in [CONTRIBUTING.md](.github/CONTRIBUTING.md) |
| 49 | + |
| 50 | +## .NET Foundation |
| 51 | +This project is part of the [.NET Foundation](http://www.dotnetfoundation.org/projects) |
0 commit comments