Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit b62dbb4

Browse files
authored
Setup android to be properly multi targeted (#7660)
* first steps * - convert a few more * - fix forwarders * - update sdk extras * - fix nuspecs * - fix rebase * - fix sdk extras for vs2017 * - remove forms fixes for 2019 * - Property based TFs * - update cake * - remove monoandroid81 * - library updates * - fix applink nugets * - 2019 test * - try 2017
1 parent f8b57ca commit b62dbb4

23 files changed

+104
-843
lines changed

.create-nuget.bat

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,15 @@ if "%1" == "droid" (
1111
set CONFIG=debug
1212
call .create-stubs.bat
1313
%NUGET_EXE% restore .xamarin.forms.android.nuget.sln
14-
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 /p:CreateAllAndroidTargets=true .xamarin.forms.android.nuget.sln
15-
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 /p:CreateAllAndroidTargets=true .xamarin.forms.android.nuget.sln /p:AndroidTargetFrameworkVersion=v8.1 /t:Restore
16-
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 /p:CreateAllAndroidTargets=true .xamarin.forms.android.nuget.sln /p:AndroidTargetFrameworkVersion=v8.1
14+
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.android.nuget.sln /t:Restore
15+
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.android.nuget.sln
1716
)
1817
if "%1" == "rdroid" (
1918
set CONFIG=release
2019
call .create-stubs.bat
2120
%NUGET_EXE% restore .xamarin.forms.android.nuget.sln
21+
msbuild /v:m /p:configuration=release /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.android.nuget.sln /t:Restore
2222
msbuild /v:m /p:configuration=release /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.android.nuget.sln
23-
msbuild /v:m /p:configuration=release /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.android.nuget.sln /p:AndroidTargetFrameworkVersion=v8.1 /t:Restore
24-
msbuild /v:m /p:configuration=release /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.android.nuget.sln /p:AndroidTargetFrameworkVersion=v8.1
2523
)
2624
if "%1" == "adroid" (
2725
call .create-nuget.bat droid
@@ -30,15 +28,13 @@ if "%1" == "adroid" (
3028
)
3129
if "%1" == "pdroid" (
3230
set CONFIG=release
31+
msbuild /v:m /p:configuration=release /p:platform="anyCpu" /p:WarningLevel=0 Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj /t:Restore
3332
msbuild /v:m /p:configuration=release /p:platform="anyCpu" /p:WarningLevel=0 Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj
34-
msbuild /v:m /p:configuration=release /p:platform="anyCpu" /p:WarningLevel=0 Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj /p:AndroidTargetFrameworkVersion=v8.1 /t:Restore
35-
msbuild /v:m /p:configuration=release /p:platform="anyCpu" /p:WarningLevel=0 Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj /p:AndroidTargetFrameworkVersion=v8.1
3633
)
3734
if "%1" == "pddroid" (
3835
set CONFIG=debug
36+
msbuild /v:m /p:configuration=debug /p:platform="anyCpu" /p:WarningLevel=0 Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj /t:Restore
3937
msbuild /v:m /p:configuration=debug /p:platform="anyCpu" /p:WarningLevel=0 Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj
40-
msbuild /v:m /p:configuration=debug /p:platform="anyCpu" /p:WarningLevel=0 Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj /p:AndroidTargetFrameworkVersion=v8.1 /t:Restore
41-
msbuild /v:m /p:configuration=debug /p:platform="anyCpu" /p:WarningLevel=0 Xamarin.Forms.Platform.Android\Xamarin.Forms.Platform.Android.csproj /p:AndroidTargetFrameworkVersion=v8.1
4238
)
4339
if "%1" == "ios" (
4440
set CONFIG=debug
@@ -78,9 +74,8 @@ if "%1" == "rall" (
7874
call .create-stubs.bat
7975
%NUGET_EXE% restore .xamarin.forms.nuget.sln
8076
msbuild /v:m /p:platform="any cpu" .xamarin.forms.uap.nuget.sln /t:restore /p:configuration=release
77+
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.nuget.sln /p:configuration=release /t:Restore
8178
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.nuget.sln /p:configuration=release
82-
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.nuget.sln /p:configuration=release /p:AndroidTargetFrameworkVersion=v8.1 /t:Restore
83-
msbuild /v:m /p:platform="any cpu" /p:WarningLevel=0 .xamarin.forms.nuget.sln /p:configuration=release /p:AndroidTargetFrameworkVersion=v8.1
8479
)
8580

8681
if "%DEBUG_VERSION%"=="" set DEBUG_VERSION=0

.create-stubs.bat

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -68,16 +68,6 @@ mkdir Stubs\Xamarin.Forms.Platform.Android\bin\%CONFIG%\MonoAndroid90
6868
echo foo > Stubs\Xamarin.Forms.Platform.Android\bin\%CONFIG%\MonoAndroid90\Xamarin.Forms.Platform.dll
6969

7070

71-
mkdir Xamarin.Forms.Platform.Android\bin\%CONFIG%\MonoAndroid81
72-
echo foo > Xamarin.Forms.Platform.Android\bin\%CONFIG%\MonoAndroid81\Xamarin.Forms.Platform.Android.dll
73-
74-
mkdir Xamarin.Forms.Platform.Android.FormsViewGroup\bin\%CONFIG%\MonoAndroid81
75-
echo foo > Xamarin.Forms.Platform.Android.FormsViewGroup\bin\%CONFIG%\MonoAndroid81\FormsViewGroup.dll
76-
77-
mkdir Stubs\Xamarin.Forms.Platform.Android\bin\%CONFIG%\MonoAndroid81
78-
echo foo > Stubs\Xamarin.Forms.Platform.Android\bin\%CONFIG%\MonoAndroid81\Xamarin.Forms.Platform.dll
79-
80-
8171
echo foo > Xamarin.Forms.Platform.iOS\bin\%CONFIG%\ar\Xamarin.Forms.Platform.iOS.resources.dll
8272
echo foo > Xamarin.Forms.Platform.iOS\bin\%CONFIG%\ca\Xamarin.Forms.Platform.iOS.resources.dll
8373
echo foo > Xamarin.Forms.Platform.iOS\bin\%CONFIG%\cs\Xamarin.Forms.Platform.iOS.resources.dll

.nuspec/Xamarin.Forms.AppLinks.nuspec

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,24 +14,17 @@
1414
<description>Add support for deep linking and indexing app content using Xamarin.Forms on the Android Platform</description>
1515
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
1616
<dependencies>
17-
<group targetFramework="MonoAndroid81">
18-
<dependency id="Xamarin.GooglePlayServices.AppIndexing" version="60.1142.1"/>
19-
</group>
2017
<group targetFramework="MonoAndroid90">
21-
<dependency id="Xamarin.GooglePlayServices.AppIndexing" version="60.1142.1"/>
18+
<dependency id="Xamarin.Firebase.AppIndexing" version="71.1602.0"/>
2219
</group>
2320
</dependencies>
2421
<references>
25-
<group targetFramework="MonoAndroid81">
26-
<reference file="Xamarin.Forms.Platform.Android.AppLinks.dll" />
27-
</group>
2822
<group targetFramework="MonoAndroid90">
2923
<reference file="Xamarin.Forms.Platform.Android.AppLinks.dll" />
3024
</group>
3125
</references>
3226
</metadata>
3327
<files>
34-
<file src="..\Xamarin.Forms.Platform.Android.AppLinks\bin\$Configuration$\MonoAndroid81\Xamarin.Forms.Platform.Android.AppLinks.dll" target="lib\MonoAndroid81" />
35-
<file src="..\Xamarin.Forms.Platform.Android.AppLinks\bin\$Configuration$\MonoAndroid90\Xamarin.Forms.Platform.Android.AppLinks.dll" target="lib\MonoAndroid90" />
28+
<file src="..\Xamarin.Forms.Platform.Android.AppLinks\bin\$Configuration$\MonoAndroid90\90\Xamarin.Forms.Platform.Android.AppLinks.dll" target="lib\MonoAndroid90" />
3629
</files>
37-
</package>
30+
</package>

.nuspec/Xamarin.Forms.Maps.nuspec

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
<group>
1818
<dependency id="Xamarin.Forms" version="$version$"/>
1919
</group>
20-
<group targetFramework="MonoAndroid81">
21-
<dependency id="Xamarin.GooglePlayServices.Maps" version="60.1142.1"/>
20+
<group targetFramework="MonoAndroid90">
21+
<dependency id="Xamarin.GooglePlayServices.Maps" version="71.1610.0"/>
2222
<dependency id="Xamarin.Android.Support.v7.AppCompat" version="28.0.0.3"/>
2323
<dependency id="Xamarin.Forms" version="$version$"/>
2424
</group>
@@ -34,11 +34,7 @@
3434
<file src="..\Xamarin.Forms.Maps\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Maps.dll" target="lib\netstandard2.0" />
3535
<file src="..\docs\Xamarin.Forms.Maps.xml" target="lib\netstandard2.0" />
3636

37-
<file src="..\Xamarin.Forms.Maps.Android\bin\$Configuration$\MonoAndroid81\Xamarin.Forms.Maps.Android.dll" target="lib\MonoAndroid81" />
38-
<file src="..\Xamarin.Forms.Maps\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Maps.dll" target="lib\MonoAndroid81" />
39-
<file src="..\docs\Xamarin.Forms.Maps.xml" target="lib\MonoAndroid81" />
40-
41-
<file src="..\Xamarin.Forms.Maps.Android\bin\$Configuration$\MonoAndroid90\Xamarin.Forms.Maps.Android.dll" target="lib\MonoAndroid90" />
37+
<file src="..\Xamarin.Forms.Maps.Android\bin\$Configuration$\MonoAndroid90\90\Xamarin.Forms.Maps.Android.dll" target="lib\MonoAndroid90" />
4238
<file src="..\Xamarin.Forms.Maps\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Maps.dll" target="lib\MonoAndroid90" />
4339
<file src="..\docs\Xamarin.Forms.Maps.xml" target="lib\MonoAndroid90" />
4440

@@ -58,5 +54,5 @@
5854
<file src="..\Xamarin.Forms.Maps\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Maps.dll" target="lib\tizen40" />
5955
<file src="..\docs\Xamarin.Forms.Maps.xml" target="lib\tizen40" />
6056

61-
</files>
62-
</package>
57+
</files>
58+
</package>

.nuspec/Xamarin.Forms.Visual.Material.nuspec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@
4343
<file src="Xamarin.Forms.Visual.Material.targets" target="build\MonoAndroid10\Xamarin.Forms.Visual.Material.targets" />
4444

4545
<!--Android 90-->
46-
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\Xamarin.Forms.Material.dll" target="lib\MonoAndroid90" />
47-
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\Xamarin.Forms.Material.*pdb" target="lib\MonoAndroid90" />
48-
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\Xamarin.Forms.Material.*mdb" target="lib\MonoAndroid90" />
46+
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid90\90\Xamarin.Forms.Material.dll" target="lib\MonoAndroid90" />
47+
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid90\90\Xamarin.Forms.Material.*pdb" target="lib\MonoAndroid90" />
48+
<file src="..\Xamarin.Forms.Material.Android\bin\$Configuration$\monoandroid90\90\Xamarin.Forms.Material.*mdb" target="lib\MonoAndroid90" />
4949

5050
<!--iOS-->
5151
<file src="..\Xamarin.Forms.Material.iOS\bin\$Configuration$\Xamarin.Forms.Material.dll" target="lib\Xamarin.iOS10" />

.nuspec/Xamarin.Forms.nuspec

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<description>Build native UIs for iOS, Android, UWP, macOS, Tizen and many more from a single, shared C# codebase</description>
1515
<copyright>© Microsoft Corporation. All rights reserved.</copyright>
1616
<dependencies>
17-
<group targetFramework="MonoAndroid81">
17+
<group targetFramework="MonoAndroid90">
1818
<dependency id="Xamarin.Android.Support.v4" version="28.0.0.3"/>
1919
<dependency id="Xamarin.Android.Support.Design" version="28.0.0.3"/>
2020
<dependency id="Xamarin.Android.Support.v7.AppCompat" version="28.0.0.3"/>
@@ -56,13 +56,6 @@
5656
<reference file="FormsViewGroup.dll" />
5757
<reference file="Xamarin.Forms.Platform.Android.dll" />
5858
</group>
59-
<group targetFramework="MonoAndroid81">
60-
<reference file="Xamarin.Forms.Core.dll" />
61-
<reference file="Xamarin.Forms.Platform.dll" />
62-
<reference file="Xamarin.Forms.Xaml.dll" />
63-
<reference file="FormsViewGroup.dll" />
64-
<reference file="Xamarin.Forms.Platform.Android.dll" />
65-
</group>
6659
<group targetFramework="uap10.0">
6760
<reference file="Xamarin.Forms.Core.dll" />
6861
<reference file="Xamarin.Forms.Platform.dll" />
@@ -143,8 +136,6 @@
143136
<file src="..\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\netstandard1.0\Design" />
144137
<file src="..\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\MonoAndroid90\Design" />
145138
<file src="..\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\MonoAndroid90\Design" />
146-
<file src="..\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\MonoAndroid81\Design" />
147-
<file src="..\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\MonoAndroid81\Design" />
148139
<file src="..\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\Xamarin.iOS10\Design" />
149140
<file src="..\Xamarin.Forms.Xaml.Design\bin\$Configuration$\Xamarin.Forms.Xaml.Design.dll" target="lib\Xamarin.iOS10\Design" />
150141
<file src="..\Xamarin.Forms.Core.Design\bin\$Configuration$\Xamarin.Forms.Core.Design.dll" target="lib\uap10.0\Design" />
@@ -157,24 +148,9 @@
157148
<!--Android 10-->
158149
<file src="proguard.cfg" target="build\MonoAndroid10\proguard.cfg" />
159150

160-
<!--Android 81-->
161-
<file src="..\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid81\Xamarin.Forms.Platform.Android.dll" target="lib\MonoAndroid81" />
162-
<file src="..\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid81\Xamarin.Forms.Platform.Android.*pdb" target="lib\MonoAndroid81" />
163-
<file src="..\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.dll" target="lib\MonoAndroid81" />
164-
<file src="..\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.*pdb" target="lib\MonoAndroid81" />
165-
<file src="..\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\MonoAndroid81" />
166-
<file src="..\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.*pdb" target="lib\MonoAndroid81" />
167-
<file src="..\docs\Xamarin.Forms.Core.xml" target="lib\MonoAndroid81" />
168-
<file src="..\docs\Xamarin.Forms.Xaml.xml" target="lib\MonoAndroid81" />
169-
<file src="..\docs\**\Xamarin.Forms.Core.xml" target="lib\MonoAndroid81" />
170-
<file src="..\docs\**\Xamarin.Forms.Xaml.xml" target="lib\MonoAndroid81" />
171-
<file src="..\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\MonoAndroid81" />
172-
<file src="..\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\MonoAndroid81" />
173-
<file src="..\Stubs\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid81\Xamarin.Forms.Platform.dll" target="lib\MonoAndroid81" />
174-
175151
<!--Android 90-->
176-
<file src="..\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid90\Xamarin.Forms.Platform.Android.dll" target="lib\MonoAndroid90" />
177-
<file src="..\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid90\Xamarin.Forms.Platform.Android.*pdb" target="lib\MonoAndroid90" />
152+
<file src="..\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid90\90\Xamarin.Forms.Platform.Android.dll" target="lib\MonoAndroid90" />
153+
<file src="..\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid90\90\Xamarin.Forms.Platform.Android.*pdb" target="lib\MonoAndroid90" />
178154
<file src="..\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.dll" target="lib\MonoAndroid90" />
179155
<file src="..\Xamarin.Forms.Platform.Android.FormsViewGroup\bin\$Configuration$\FormsViewGroup.*pdb" target="lib\MonoAndroid90" />
180156
<file src="..\Xamarin.Forms.Core\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Core.dll" target="lib\MonoAndroid90" />
@@ -185,7 +161,7 @@
185161
<file src="..\docs\**\Xamarin.Forms.Xaml.xml" target="lib\MonoAndroid90" />
186162
<file src="..\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.dll" target="lib\MonoAndroid90" />
187163
<file src="..\Xamarin.Forms.Xaml\bin\$Configuration$\netstandard2.0\Xamarin.Forms.Xaml.*pdb" target="lib\MonoAndroid90" />
188-
<file src="..\Stubs\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid90\Xamarin.Forms.Platform.dll" target="lib\MonoAndroid90" />
164+
<file src="..\Stubs\Xamarin.Forms.Platform.Android\bin\$Configuration$\MonoAndroid90\90\Xamarin.Forms.Platform.dll" target="lib\MonoAndroid90" />
189165

190166
<!--iPhone Unified-->
191167
<file src="..\Xamarin.Forms.Platform.iOS\bin\$Configuration$\Xamarin.Forms.Platform.iOS.dll" target="lib\Xamarin.iOS10" />

Directory.Build.props

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,10 @@
2323
<CI>false</CI>
2424
<CI Condition="'$(TF_BUILD)' == 'true'">true</CI>
2525
</PropertyGroup>
26+
27+
<!-- This is used by the libraries -->
28+
<PropertyGroup Condition="'$(AndroidTargetFrameworks)' == ''">
29+
<AndroidTargetFrameworks>MonoAndroid90;</AndroidTargetFrameworks>
30+
</PropertyGroup>
31+
2632
</Project>

Stubs/Xamarin.Forms.Platform.Android/Properties/AssemblyInfo.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,5 @@
22
using System.Runtime.CompilerServices;
33
using System.Runtime.InteropServices;
44

5-
[assembly: AssemblyTitle ("Xamarin.Forms.Platform.Android")]
65
[assembly: InternalsVisibleTo ("Xamarin.Forms.Core")]
76
[assembly: ComVisible (false)]

0 commit comments

Comments
 (0)