AndroidX (Jetpack) bindings for Xamarin.Android
Перейти к файлу
moljac 7b2a0a22de
Merge pull request #331 from xamarin/create-pull-request/patch-1625465158
Weekly stable updates
2021-07-09 23:12:28 +02:00
.github Merge pull request #316 from xamarin/improvements-javadocjar-javasourcejar 2021-05-25 21:51:04 +02:00
build/scripts Bump all package revisions to force newer resolution of Migration package. 2020-12-14 13:42:02 -06:00
icons Add a smaller image for the nugets 2019-07-19 16:39:18 +02:00
mappings Additions (wrappers) for OnNestedScrollAccepted and OnStartNestedScroll 2021-07-09 10:13:34 +02:00
samples samples for testing Material and AppCompat only (with dependencies , transitive) 2021-02-24 21:24:23 +01:00
source comments removal 2021-07-09 18:37:58 +02:00
tests fixed dependecies for arch.core.runtime 2021-04-20 18:17:25 +02:00
util Update the build script to use the new dotnet tools 2019-08-08 03:46:36 +02:00
.gitignore Added the initial migration code 2019-11-27 18:51:05 +02:00
Directory.Build.props Update repo names 2019-11-20 00:29:32 +02:00
External-Dependency-Info.txt Update the README.md 2019-11-20 00:40:53 +02:00
LICENSE.md Rename LICENSE to LICENSE.md 2019-12-11 14:47:50 -05:00
README.md readme formatting 2021-05-18 17:52:27 +02:00
SECURITY.md Create SECURITY.md 2021-05-24 14:59:55 -05:00
SignList.xml [ci] Sign known .jar files and re-enable migration tests (#203) 2020-11-17 13:47:08 -05:00
THIRD-PARTY-NOTICES Update THIRD-PARTY-NOTICES 2019-07-19 10:45:39 -04:00
azure-pipelines.yml [yaml] Update to XA 16.10. 2021-06-30 13:38:19 -05:00
build.cake Merge pull request #316 from xamarin/improvements-javadocjar-javasourcejar 2021-05-25 21:51:04 +02:00
config.json window version bmp 2021-07-07 13:44:21 +02:00
global.json Update global.json 2021-05-24 22:32:17 +02:00
nuget-diff.cake txt extension for easier upload to github 2021-02-18 02:40:38 +01:00
utilities.cake improvements for loading spell checking error log file 2021-07-09 11:13:13 +02:00

README.md

AndroidX for Xamarin.Android

GitHub License contributions welcome GitHub contributors Build Status

Xamarin creates and maintains Xamarin.Android bindings for AndroidX.

What's New in AndroidX

AndroidX is a major improvement to the original Android Support Library. AndroidX packages fully replace the Android Support Library by providing feature parity and new libraries.

In addition, AndroidX includes the following features:

  • All namespaces in AndroidX live in a consistent namespace starting with AndroidX. The Android Support Library namespaces have been mapped into corresponding AndroidX.* namespaces. For a full mapping of all the old classes and build artifacts to the new ones, see the Package Refactoring page.
  • Unlike the Android Support Library, AndroidX namespaces are separately maintained and updated. The AndroidX packages use strict Semantic Versioning, starting with version 1.0.0. You can update AndroidX libraries in your project independently.
  • Version 28.0.0 is the last release of the Android Support Library. There will be no more Android Support library releases. All new feature development will be in the AndroidX namespace.

Building

Prerequisites

Before building the libraries and samples in this repository, you will need to install .NET Core and the Cake .NET Core Tool:

dotnet tool install -g cake.tool
dotnet tool install -g xamarin.androidbinderator.tool
dotnet tool install -g xamarin.androidx.migration.tool

NOTE: If you previously installed any of these tools, be sure to update them to the latest versions.

For API diffs install api-tools

dotnet tool install -g api-tools

Compiling

You can now build all the packages by running:

dotnet cake

If you are going to make changes to the config.json, then you can run the packages target to re-generate all the necessary files:

dotnet cake --target=packages

Android Support -> AndroidX Roadmap

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.

Goal

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.

Phases

1. Xamarin Bindings / NuGet Packages for AndroidX

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.

2. Tooling for Building apps and dependencies with AndroidX

Implement build tasks in the AndroidX packages to allow your application to utilize AndroidX without any code changes:

  • 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
  • Your app's compiled code will be migrated to the new API's before the application is packaged
  • Your app's resource and manifest files will be migrated at build time before the application is packaged

3. Optional One Time Migration Tool

If your app's code (C#, Resources, Manifest, etc) has not been migrated from Android Support, your build times will be slightly longer.

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.

Migration Tools / Tasks Source Code

The source code for the Xamarin.AndroidX.Migration package and other migration tools and utilities are available in: source/migration

License

The license for this repository is specified in LICENSE.md

Contribution Guidelines

The Contribution Guidelines for this repository are listed in CONTRIBUTING.md

.NET Foundation

This project is part of the .NET Foundation