Skip to content

Commit 97190b6

Browse files
[Xamarin.Android.Build.Tasks] @(AndroidLibrary) for all project types (#5372)
Fixes: #5357 The new `@(AndroidLibrary)` item group (8cc3e4f) can now be used in "legacy" Xamarin.Android: <AndroidLibrary Include="foo.jar" /> <AndroidLibrary Include="bar.aar" /> * Application and class library projects: * `foo.jar` maps to `@(AndroidJavaLibrary)` * `bar.aar` maps to `@(AndroidAarLibrary)` * Java binding projects: * `foo.jar` maps to `@(EmbeddedJar)` when `%(AndroidLibrary.Bind)="true"` (the default)) * `foo.jar` maps to `@(EmbeddedReferenceJar)` if `%(AndroidLibrary.Bind)="false"` metadata is added * `bar.aar` maps to `@(LibraryProjectZip)` * Additionally: * `@(AndroidNativeLibrary)` now will be used for native libraries. You can use `@(AndroidNativeLibrary)` instead of `@(EmbeddedNativeLibrary)`. All `@(AvailableItemNames)` are now defined in a single `Xamarin.Android.AndroidItems.targets` that is imported by all project types: legacy apps, legacy libraries, legacy bindings, and .NET 6 projects. I documented the changes to the item groups, some of which didn't have documentation at all. I updated a few binding tests to use `@(AndroidLibrary)`. There are still several more tests using the old item names.
1 parent 11f0e1b commit 97190b6

16 files changed

+302
-95
lines changed

Documentation/guides/OneDotNetEmbeddedResources.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,9 @@ Right now we have a confusing collection of MSBuild item groups:
174174
* `@(AndroidNativeLibrary)` - `.so` file to include in an application
175175
project.
176176

177-
Let's simplify this, we could support all of the above with a new
178-
`@(AndroidLibrary)` item group:
177+
We could simplify much of the above with a new `@(AndroidLibrary)`
178+
item group. `@(AndroidNativeLibrary)` can be used for
179+
`@(EmbeddedNativeLibrary)` as well:
179180

180181
```xml
181182
<!-- Include and bind -->
@@ -188,11 +189,15 @@ Let's simplify this, we could support all of the above with a new
188189
%(Pack) is built into NuGet MSBuild targets.
189190
-->
190191
<AndroidLibrary Include="bar.aar" Pack="false" />
191-
<!-- Native libraries need ABI directory -->
192-
<AndroidLibrary Include="armeabi-v7a\libfoo.so" />
193-
<AndroidLibrary Include="x86\libfoo.so" />
192+
<!-- Native libraries need ABI directory or %(Abi) -->
193+
<AndroidNativeLibrary Include="armeabi-v7a\libfoo.so" />
194+
<AndroidNativeLibrary Include="libfoo.so" Abi="x86" />
194195
```
195196

197+
`@(AndroidNativeLibrary)` should remain distinct from
198+
`@(AndroidLibrary)` because the `%(Bind)` and `%(Abi)` metadata do not
199+
really make sense for both native libraries and Java/Kotlin libraries.
200+
196201
The new `@(AndroidLibrary)` item group will simply translate to the
197202
old ones for backwards compatibility. The extension of the file can be
198203
used to determine what kind of library each item is. `%(Bind)` and

Documentation/guides/building-apps/build-items.md

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,36 @@ package.
7575
Files with a Build action of `AndroidJavaSource` are Java source code which
7676
will be included in the final Android package.
7777

78+
## AndroidLibrary
79+
80+
**AndroidLibrary** is a new build action for simplifying how
81+
`.jar` and `.aar` files are included in projects.
82+
83+
Any project can specify:
84+
85+
```xml
86+
<ItemGroup>
87+
<AndroidLibrary Include="foo.jar" />
88+
<AndroidLibrary Include="bar.aar" />
89+
</ItemGroup>
90+
```
91+
92+
The result of the above code snippet has a different effect for each
93+
Xamarin.Android project type:
94+
95+
* Application and class library projects:
96+
* `foo.jar` maps to [**AndroidJavaLibrary**](#androidjavalibrary)
97+
* `bar.aar` maps to [**AndroidAarLibrary**](#androidaarlibrary)
98+
* Java binding projects:
99+
* `foo.jar` maps to [**EmbeddedJar**](#embeddedjar)
100+
* `foo.jar` maps to [**EmbeddedReferenceJar**](#embeddedreferencejar)
101+
if `Bind="false"` metadata is added
102+
* `bar.aar` maps to [**LibraryProjectZip**](#libraryprojectzip)
103+
104+
This simplification means you can use **AndroidLibrary** everywhere.
105+
106+
Added in Xamarin.Android 11.2.
107+
78108
## AndroidLintConfig
79109

80110
The Build action 'AndroidLintConfig' should be used in conjunction with the
@@ -213,6 +243,75 @@ step).
213243
Starting in Xamarin.Android 5.1, attempting to use the `@(Content)`
214244
Build action will result in a `XA0101` warning.
215245

246+
## EmbeddedJar
247+
248+
In a Xamarin.Android binding project, the **EmbeddedJar** build action
249+
binds the Java/Kotlin library and embeds the `.jar` file into the
250+
library. When a Xamarin.Android application project consumes the
251+
library, it will have access to the Java/Kotlin APIs from C# as well
252+
as include the Java/Kotlin code in the final Android application.
253+
254+
Since Xamarin.Android 11.2, you can use the
255+
[**AndroidLibrary**](#androidlibrary) build action as an alternative
256+
such as:
257+
258+
```xml
259+
<Project>
260+
<ItemGroup>
261+
<AndroidLibrary Include="Library.jar" />
262+
</ItemGroup>
263+
</Project>
264+
```
265+
266+
## EmbeddedNativeLibrary
267+
268+
In a Xamarin.Android class library or Java binding project, the
269+
**EmbeddedNativeLibrary** build action bundles a native library such
270+
as `lib/armeabi-v7a/libfoo.so` into the library. When a
271+
Xamarin.Android application consumes the library, the `libfoo.so` file
272+
will be included in the final Android application.
273+
274+
Since Xamarin.Android 11.2, you can use the
275+
[**AndroidNativeLibrary**](#androidnativelibrary) build action as an
276+
alternative.
277+
278+
## EmbeddedReferenceJar
279+
280+
In a Xamarin.Android binding project, the **EmbeddedReferenceJar**
281+
build action embeds the `.jar` file into the library but does not
282+
create a C# binding as [**EmbeddedJar**](#embeddedjar) does. When a
283+
Xamarin.Android application project consumes the library, it will
284+
include the Java/Kotlin code in the final Android application.
285+
286+
Since Xamarin.Android 11.2, you can use the
287+
[**AndroidLibrary**](#androidlibrary) build action as an alternative
288+
such as `<AndroidLibrary Include="..." Bind="false" />`:
289+
290+
```xml
291+
<Project>
292+
<ItemGroup>
293+
<!-- A .jar file to bind & embed -->
294+
<AndroidLibrary Include="Library.jar" />
295+
<!-- A .jar file to only embed -->
296+
<AndroidLibrary Include="Dependency.jar" Bind="false" />
297+
</ItemGroup>
298+
</Project>
299+
```
300+
301+
## LibraryProjectZip
302+
303+
In a Xamarin.Android binding project, the **LibraryProjectZip** build
304+
action binds the Java/Kotlin library and embeds the `.zip` or `.aar`
305+
file into the library. When a Xamarin.Android application project
306+
consumes the library, it will have access to the Java/Kotlin APIs from
307+
C# as well as include the Java/Kotlin code in the final Android
308+
application.
309+
310+
> [!NOTE]
311+
> Only a single **LibraryProjectZip** can be included in a
312+
> Xamarin.Android binding project. This limitation will be removed
313+
> going forward in .NET 6.
314+
216315
## LinkDescription
217316

218317
Files with a *LinkDescription* build action are used to

Documentation/release-notes/5372.md

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#### Application and library build and deployment
2+
3+
* [GitHub PR 5372](https://github.com/xamarin/xamarin-android/pull/5372):
4+
Introduces the **AndroidLibrary** Build Action for Java or Kotlin libraries.
5+
6+
**AndroidLibrary** is a new Build Action can be used as an alternative
7+
to **AndroidAarLibrary**, **AndroidJavaLibrary**, **EmbeddedJar**,
8+
**EmbeddedReferenceJar**, and **LibraryProjectZip**.
9+
10+
For example, in an Android application or class library project:
11+
12+
```xml
13+
<Project>
14+
<ItemGroup>
15+
<!-- If the project was using: -->
16+
<AndroidAarLibrary Include="foo.aar" />
17+
<AndroidJavaLibrary Include="bar.jar" />
18+
<!-- It can now be replaced with: -->
19+
<AndroidLibrary Include="foo.aar" />
20+
<AndroidLibrary Include="bar.jar" />
21+
</ItemGroup>
22+
</Project>
23+
```
24+
25+
In a Java binding project:
26+
27+
```xml
28+
<Project>
29+
<ItemGroup>
30+
<!-- If the project was using: -->
31+
<LibraryProjectZip Include="foo.aar" />
32+
<EmbeddedJar Include="bar.jar" />
33+
<EmbeddedReferenceJar Include="dependency.jar" />
34+
<!-- It can now be replaced with: -->
35+
<AndroidLibrary Include="foo.aar" />
36+
<AndroidLibrary Include="bar.jar" />
37+
<AndroidLibrary Include="dependency.jar" Bind="false" />
38+
</ItemGroup>
39+
</Project>
40+
```
41+
42+
Using the **AndroidLibrary** Build Action is optional, as the old item
43+
names are still supported.
44+
45+
The **AndroidNativeLibrary** Build Action will continue to be used for
46+
native libraries (`.so` files). However one improvement has been
47+
introduced for Xamarin.Android class library or Java binding projects:
48+
49+
```xml
50+
<Project>
51+
<ItemGroup>
52+
<!-- If the project was using: -->
53+
<EmbeddedNativeLibrary Include="lib/armeabi-v7a/libfoo.so" />
54+
<!-- It can now be replaced with: -->
55+
<AndroidNativeLibrary Include="lib/armeabi-v7a/libfoo.so" />
56+
</ItemGroup>
57+
</Project>
58+
```
59+
60+
The **AndroidNativeLibrary** Build Action can now be used in all
61+
project types. It previously was only used in application projects.

build-tools/installers/create-installers.targets

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,7 @@
283283
<_MSBuildFiles Include="$(MSBuildSrcDir)\K4os.Compression.LZ4.dll" />
284284
</ItemGroup>
285285
<ItemGroup>
286+
<_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.AvailableItems.targets" />
286287
<_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.Bindings.After.targets" />
287288
<_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.Bindings.Before.targets" />
288289
<_MSBuildTargetsSrcFiles Include="$(MSBuildTargetsSrcDir)\Xamarin.Android.Common\ImportAfter\Microsoft.Cpp.Android.targets" />
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
<!--
2+
***********************************************************************************************
3+
Xamarin.Android.AvailableItems.targets
4+
5+
This file is imported by every project type to setup @(AvailableItemName).
6+
This item group populates the Build Action drop-down in IDEs.
7+
8+
***********************************************************************************************
9+
-->
10+
<Project>
11+
12+
<!-- Not legacy binding projects -->
13+
<ItemGroup Condition=" '$(_AndroidIsBindingProject)' != 'true' ">
14+
<AvailableItemName Include="AndroidAotProfile" />
15+
<AvailableItemName Include="AndroidAsset" />
16+
<AvailableItemName Include="AndroidEnvironment" />
17+
<AvailableItemName Include="AndroidExternalJavaLibrary" />
18+
<AvailableItemName Include="AndroidInterfaceDescription" />
19+
<AvailableItemName Include="AndroidJavaSource" />
20+
<AvailableItemName Include="AndroidLibrary" />
21+
<AvailableItemName Include="AndroidLintConfig" />
22+
<AvailableItemName Include="AndroidResourceAnalysisConfig" />
23+
<AvailableItemName Include="AndroidNativeLibrary" />
24+
<AvailableItemName Include="AndroidResource" />
25+
<AvailableItemName Include="AndroidBoundLayout" />
26+
<AvailableItemName Include="LinkDescription" />
27+
<AvailableItemName Include="MultiDexMainDexList" />
28+
<AvailableItemName Include="ProguardConfiguration" />
29+
<AvailableItemName Include="ProjectReference" />
30+
<AvailableItemName Include="AndroidManifestOverlay" />
31+
</ItemGroup>
32+
<!-- Legacy, non-binding projects -->
33+
<ItemGroup Condition=" '$(_AndroidIsBindingProject)' != 'true' and '$(UsingAndroidNETSdk)' != 'true' ">
34+
<AvailableItemName Include="AndroidAarLibrary" />
35+
<AvailableItemName Include="AndroidJavaLibrary" />
36+
</ItemGroup>
37+
<!-- Legacy, non-application projects -->
38+
<ItemGroup Condition=" '$(AndroidApplication)' != 'true' and '$(UsingAndroidNETSdk)' != 'true' ">
39+
<AvailableItemName Include="EmbeddedNativeLibrary" />
40+
</ItemGroup>
41+
<!-- Legacy binding projects or .NET 6 -->
42+
<ItemGroup Condition=" '$(_AndroidIsBindingProject)' == 'true' or '$(UsingAndroidNETSdk)' == 'true' ">
43+
<AvailableItemName Include="TransformFile" />
44+
<AvailableItemName Include="LibraryProjectProperties" />
45+
<AvailableItemName Include="JavaDocIndex" />
46+
<AvailableItemName Include="JavaDocJar" />
47+
<AvailableItemName Include="JavaSourceJar" />
48+
</ItemGroup>
49+
<!-- Legacy binding projects -->
50+
<ItemGroup Condition=" '$(_AndroidIsBindingProject)' == 'true' and '$(UsingAndroidNETSdk)' != 'true' ">
51+
<AvailableItemName Include="EmbeddedJar" />
52+
<AvailableItemName Include="EmbeddedNativeLibrary" />
53+
<AvailableItemName Include="EmbeddedReferenceJar" />
54+
<AvailableItemName Include="InputJar" />
55+
<AvailableItemName Include="ReferenceJar" />
56+
<AvailableItemName Include="LibraryProjectZip" />
57+
</ItemGroup>
58+
59+
<!-- Default item metadata -->
60+
<ItemDefinitionGroup>
61+
<AndroidResource>
62+
<SubType>Designer</SubType>
63+
<Generator>MSBuild:UpdateGeneratedFiles</Generator>
64+
</AndroidResource>
65+
<AndroidLibrary>
66+
<Bind>true</Bind>
67+
<Pack Condition=" '$(UsingAndroidNETSdk)' == 'true' ">true</Pack>
68+
</AndroidLibrary>
69+
<AndroidAarLibrary>
70+
<!-- NOTE: .aar items should skip %(AndroidSkipResourceProcessing) by default -->
71+
<AndroidSkipResourceProcessing>true</AndroidSkipResourceProcessing>
72+
</AndroidAarLibrary>
73+
</ItemDefinitionGroup>
74+
75+
<!-- Convert @(AndroidLibrary) to the legacy item group names -->
76+
<Target Name="_CategorizeAndroidLibraries">
77+
<!-- Applications, or legacy class libraries -->
78+
<ItemGroup Condition=" '$(AndroidApplication)' == 'true' or ('$(_AndroidIsBindingProject)' != 'true' and '$(UsingAndroidNETSdk)' != 'true') ">
79+
<AndroidAarLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.aar' " />
80+
<AndroidJavaLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.jar' " />
81+
</ItemGroup>
82+
<!-- Any library that is not an app -->
83+
<ItemGroup Condition=" '$(AndroidApplication)' != 'true' ">
84+
<EmbeddedNativeLibrary Include="@(AndroidNativeLibrary)" />
85+
</ItemGroup>
86+
<!-- .NET 6 class libraries-->
87+
<ItemGroup Condition=" '$(AndroidApplication)' != 'true' and '$(UsingAndroidNETSdk)' == 'true' ">
88+
<AndroidAarLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.aar' and '%(AndroidLibrary.Bind)' != 'true' " />
89+
<LibraryProjectZip Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.aar' and '%(AndroidLibrary.Bind)' == 'true' " />
90+
<AndroidJavaLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.jar' and '%(AndroidLibrary.Bind)' != 'true' " />
91+
<EmbeddedJar Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.jar' and '%(AndroidLibrary.Bind)' == 'true' " />
92+
<!-- .aar files should be copied to $(OutputPath) in .NET 6-->
93+
<None Include="@(LibraryProjectZip)" CopyToOutputDirectory="PreserveNewest" Link="%(Filename)%(Extension)" />
94+
</ItemGroup>
95+
<!-- Legacy binding projects -->
96+
<ItemGroup Condition=" '$(_AndroidIsBindingProject)' == 'true' and '$(UsingAndroidNETSdk)' != 'true' ">
97+
<LibraryProjectZip Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.aar' and '%(AndroidLibrary.Bind)' == 'true' " />
98+
<EmbeddedJar Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.jar' and '%(AndroidLibrary.Bind)' != 'true' " />
99+
<EmbeddedReferenceJar Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.jar' and '%(AndroidLibrary.Bind)' == 'true' " />
100+
</ItemGroup>
101+
</Target>
102+
103+
</Project>

src/Xamarin.Android.Build.Tasks/MSBuild/Xamarin/Android/Xamarin.Android.Bindings.Core.targets

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -21,21 +21,6 @@ It is shared between "legacy" binding projects and .NET 5 projects.
2121
<_GeneratorStampFile>$(IntermediateOutputPath)generator.stamp</_GeneratorStampFile>
2222
</PropertyGroup>
2323

24-
<!-- Get our Build Actions to show up in VS -->
25-
<ItemGroup>
26-
<AvailableItemName Include="EmbeddedJar" />
27-
<AvailableItemName Include="EmbeddedNativeLibrary" />
28-
<AvailableItemName Include="EmbeddedReferenceJar" />
29-
<AvailableItemName Include="InputJar" />
30-
<AvailableItemName Include="ReferenceJar" />
31-
<AvailableItemName Include="TransformFile" />
32-
<AvailableItemName Include="LibraryProjectProperties" />
33-
<AvailableItemName Include="LibraryProjectZip" />
34-
<AvailableItemName Include="JavaDocIndex" />
35-
<AvailableItemName Include="JavaDocJar" />
36-
<AvailableItemName Include="JavaSourceJar" />
37-
</ItemGroup>
38-
3924
<Target Name="ExportJarToXml"
4025
DependsOnTargets="$(ExportJarToXmlDependsOnTargets)"
4126
Condition=" '$(UsingAndroidNETSdk)' != 'true' Or '@(InputJar->Count())' != '0' Or '@(EmbeddedJar->Count())' != '0' Or '@(LibraryProjectZip->Count())' != '0' ">

src/Xamarin.Android.Build.Tasks/Microsoft.Android.Sdk/targets/Microsoft.Android.Sdk.AndroidLibraries.targets

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -13,36 +13,11 @@ projects.
1313
<UsingTask TaskName="Xamarin.Android.Tasks.CreateAar" AssemblyFile="$(_XamarinAndroidBuildTasksAssembly)" />
1414
<UsingTask TaskName="Xamarin.Android.Tasks.ExtractJarsFromAar" AssemblyFile="$(_XamarinAndroidBuildTasksAssembly)" />
1515

16-
<ItemGroup>
17-
<AvailableItemName Include="AndroidLibrary" />
18-
</ItemGroup>
19-
<ItemDefinitionGroup>
20-
<AndroidLibrary>
21-
<Bind>true</Bind>
22-
<Pack>true</Pack>
23-
</AndroidLibrary>
24-
</ItemDefinitionGroup>
2516
<PropertyGroup>
2617
<_AarCacheFile>$(IntermediateOutputPath)$(TargetName).aar.cache</_AarCacheFile>
2718
<_AarOutputPath>$(OutputPath)$(TargetName).aar</_AarOutputPath>
2819
</PropertyGroup>
2920

30-
<Target Name="_CategorizeAndroidLibraries">
31-
<ItemGroup Condition=" '$(AndroidApplication)' == 'true' ">
32-
<AndroidAarLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.aar' " />
33-
<AndroidJavaLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.jar' " />
34-
<AndroidNativeLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.so' " />
35-
</ItemGroup>
36-
<ItemGroup Condition=" '$(AndroidApplication)' != 'true' ">
37-
<AndroidAarLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.aar' and '%(AndroidLibrary.Bind)' != 'true' " />
38-
<LibraryProjectZip Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.aar' and '%(AndroidLibrary.Bind)' == 'true' " />
39-
<AndroidJavaLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.jar' and '%(AndroidLibrary.Bind)' != 'true' " />
40-
<EmbeddedJar Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.jar' and '%(AndroidLibrary.Bind)' == 'true' " />
41-
<EmbeddedNativeLibrary Include="@(AndroidLibrary)" Condition=" '%(AndroidLibrary.Extension)' == '.so' " />
42-
<None Include="@(LibraryProjectZip)" CopyToOutputDirectory="PreserveNewest" Link="%(Filename)%(Extension)" />
43-
</ItemGroup>
44-
</Target>
45-
4621
<Target Name="_ResolveAars" Condition=" '$(AndroidApplication)' == 'true' ">
4722
<ItemGroup>
4823
<_AarSearchDirectory Include="@(_ReferencePath->'%(RootDir)%(Directory)')" />

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/BindingBuildTest.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public void BuildBasicBindingLibrary (string classParser)
4242
var proj = new XamarinAndroidBindingProject () {
4343
IsRelease = true,
4444
};
45-
proj.Jars.Add (new AndroidItem.EmbeddedJar ("Jars\\svg-android.jar") {
45+
proj.Jars.Add (new AndroidItem.AndroidLibrary ("Jars\\svg-android.jar") {
4646
WebContent = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/svg-android/svg-android.jar"
4747
});
4848
proj.AndroidClassParser = classParser;
@@ -106,7 +106,7 @@ public void BuildAarBindingLibraryStandalone (string classParser)
106106
UseLatestPlatformSdk = true,
107107
IsRelease = true,
108108
};
109-
proj.Jars.Add (new AndroidItem.LibraryProjectZip ("Jars\\material-menu-1.1.0.aar") {
109+
proj.Jars.Add (new AndroidItem.AndroidLibrary ("Jars\\material-menu-1.1.0.aar") {
110110
WebContent = "https://repo.jfrog.org/artifactory/libs-release-bintray/com/balysv/material-menu/1.1.0/material-menu-1.1.0.aar"
111111
});
112112
proj.AndroidClassParser = classParser;

0 commit comments

Comments
 (0)