diff --git a/src/Mobile/AndroidSDKManager.ps1 b/src/Mobile/AndroidSDKManager.ps1 new file mode 100644 index 000000000..653ef74e4 --- /dev/null +++ b/src/Mobile/AndroidSDKManager.ps1 @@ -0,0 +1,39 @@ +$AndroidToolPath = "${env:ProgramFiles(x86)}\Android\android-sdk\tools\android.bat" +if (!(Test-Path $AndroidToolPath)) { + $AndroidToolPath = "$env:localappdata\Android\android-sdk\tools\android.bat" +} elseif (!(Test-Path $AndroidToolPath)) { + Write-Error "Unable to find Android SDK Manager tools." + return +} + +Function Get-AndroidSDKs() { + $output = & $AndroidToolPath list sdk --all + $sdks = $output |% { + if ($_ -match '(?\d+)- (?.+), revision (?[\d\.]+)') { + $sdk = New-Object PSObject + Add-Member -InputObject $sdk -MemberType NoteProperty -Name Index -Value $Matches.index + Add-Member -InputObject $sdk -MemberType NoteProperty -Name Name -Value $Matches.sdk + Add-Member -InputObject $sdk -MemberType NoteProperty -Name Revision -Value $Matches.revision + $sdk + } + } + $sdks +} + +Function Install-AndroidSDK() { + [CmdletBinding()] + Param( + [Parameter(Mandatory=$true, Position=0)] + [PSObject[]]$sdks + ) + + $sdkIndexes = $sdks |% { $_.Index } + $sdkIndexArgument = [string]::Join(',', $sdkIndexes) + Echo 'y' | & $AndroidToolPath update sdk -u -a -t $sdkIndexArgument +} + +# Example usage: +# $sdks = Get-AndroidSDKs |? { $_.name -like 'sdk platform*API 10*' -or $_.name -like 'google apis*api 10' } +# Install-AndroidSDK -sdks $sdks + +# https://github.com/AArnott \ No newline at end of file diff --git a/src/Mobile/README.md b/src/Mobile/README.md index 8dffe3d3c..4f9262e9b 100644 --- a/src/Mobile/README.md +++ b/src/Mobile/README.md @@ -16,6 +16,7 @@ This project exercises the following platforms, frameworks or features: * Xamarin.Forms * XAML + * Behaviors * Bindings * Converters * Central Styles @@ -39,10 +40,10 @@ The app targets **three** platforms: * iOS * Android * Universal Windows Platform (UWP) - * UWP supported only in Visual Studio, not Xamarin Studio + * UWP supported only in Visual Studio, not Xamarin Studio or Visual Studio for MacOS -As of 19/12/2016, eShopOnContainers features **89.2% code share** (7.2% iOS / 16.7% Android / 8.7% Windows). +As of 07/03/2017, eShopOnContainers features **89.2% code share** (7.2% iOS / 16.7% Android / 8.7% Windows). ##Licenses @@ -55,12 +56,12 @@ This project uses some third-party assets with a license that requires attributi - [SlideOverKit](https://github.com/XAM-Consulting/SlideOverKit): by XAM-Consulting ## Requirements -### Requirements for Jan. 2017 version of eShopOnContainers +### Requirements for March 2017 version of eShopOnContainers * [Visual Studio __2015__](https://www.visualstudio.com/en-us/products/vs-2015-product-editions.aspx) (14.0 or higher) to compile C# 6 langage features (or Visual Studio MacOS) * Xamarin add-ons for Visual Studio (available via the Visual Studio installer) * __Visual Studio Community Edition is fully supported!__ -* Android SDK Tools 25.2.3 or higher +* [Android SDK Tools](https://developer.xamarin.com/guides/android/getting_started/installation/windows/) 25.2.3 or higher * JDK 8.0 ## Setup @@ -154,4 +155,4 @@ In the configuration window of the machine, go to the Compatibility section and Migrate to a physical computer with a different processor version ## Copyright and license -* Code and documentation copyright 2016 Microsoft Corp. Code released under the [MIT license](https://opensource.org/licenses/MIT). \ No newline at end of file +* Code and documentation copyright 2017 Microsoft Corp. Code released under the [MIT license](https://opensource.org/licenses/MIT). \ No newline at end of file diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj index 6e6ab0b31..7e9dbb852 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.Droid/eShopOnContainers.Droid.csproj @@ -385,7 +385,7 @@ - Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}. + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj index 68c4d35fd..e4132d7fa 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.Droid/eShopOnContainers.TestRunner.Droid.csproj @@ -170,7 +170,7 @@ - Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}. + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.iOS/eShopOnContainers.TestRunner.iOS.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.iOS/eShopOnContainers.TestRunner.iOS.csproj index 24c866f7a..5b4c3c548 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.iOS/eShopOnContainers.TestRunner.iOS.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.TestRunner.iOS/eShopOnContainers.TestRunner.iOS.csproj @@ -169,7 +169,7 @@ - Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}. + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. diff --git a/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj b/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj index d97943c2e..99f033a1d 100644 --- a/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj +++ b/src/Mobile/eShopOnContainers/eShopOnContainers.iOS/eShopOnContainers.iOS.csproj @@ -433,7 +433,7 @@ - Este proyecto hace referencia a los paquetes NuGet que faltan en este equipo. Use la restauración de paquetes NuGet para descargarlos. Para obtener más información, consulte http://go.microsoft.com/fwlink/?LinkID=322105. El archivo que falta es {0}. + This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.