File tree Expand file tree Collapse file tree 8 files changed +43
-25
lines changed
Documentation/guides/building-apps
src/Xamarin.Android.Build.Tasks
Microsoft.Android.Sdk/targets
Tests/Xamarin.ProjectTools/Resources/Base Expand file tree Collapse file tree 8 files changed +43
-25
lines changed Original file line number Diff line number Diff line change 9
9
[submodule "external/Java.Interop "]
10
10
path = external/Java.Interop
11
11
url = https://github.com/xamarin/java.interop.git
12
- branch = main
12
+ branch = jonp-iface-invokers-910
13
13
[submodule "external/lz4 "]
14
14
path = external/lz4
15
15
url = https://github.com/lz4/lz4.git
Original file line number Diff line number Diff line change @@ -430,6 +430,16 @@ documentation on [D8 and R8][d8-r8].
430
430
[ dex ] : https://source.android.com/devices/tech/dalvik/dalvik-bytecode
431
431
[ d8-r8 ] : https://github.com/xamarin/xamarin-android/blob/main/Documentation/guides/D8andR8.md
432
432
433
+ ## AndroidEmitLegacyInterfaceInvokers
434
+
435
+ A boolean property that determines whether or not "legacy" interface invokers are generated.
436
+ This should only be done if using the new optimizerd interface invoker infrastructure results
437
+ in build failures.
438
+
439
+ The default value is ` False ` , and more optimized interface invokers are generated.
440
+
441
+ Added in .NET 9.0.
442
+
433
443
## AndroidEnableDesugar
434
444
435
445
A boolean property that
Original file line number Diff line number Diff line change @@ -108,6 +108,7 @@ It is shared between "legacy" binding projects and .NET 5 projects.
108
108
ToolPath =" $(_BindingsToolsLocation)"
109
109
ToolExe =" $(BindingsGeneratorToolExe)"
110
110
LangVersion =" $(LangVersion)"
111
+ EmitLegacyInterfaceInvokers =" $(AndroidEmitLegacyInterfaceInvokers)"
111
112
EnableBindingStaticAndDefaultInterfaceMethods =" $(AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods)"
112
113
EnableBindingNestedInterfaceTypes =" $(AndroidBoundInterfacesContainTypes)"
113
114
EnableBindingInterfaceConstants =" $(AndroidBoundInterfacesContainConstants)"
Original file line number Diff line number Diff line change 39
39
<AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods Condition =" '$(AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods)' == '' " >true</AndroidBoundInterfacesContainStaticAndDefaultInterfaceMethods >
40
40
<AndroidBoundInterfacesContainTypes Condition =" '$(AndroidBoundInterfacesContainTypes)' == '' " >true</AndroidBoundInterfacesContainTypes >
41
41
<AndroidBoundInterfacesContainConstants Condition =" '$(AndroidBoundInterfacesContainConstants)' == '' " >true</AndroidBoundInterfacesContainConstants >
42
+ <AndroidEmitLegacyInterfaceInvokers Condition =" '$(AndroidEmitLegacyInterfaceInvokers)' == '' " >false</AndroidEmitLegacyInterfaceInvokers >
42
43
<AndroidEnableObsoleteOverrideInheritance Condition =" '$(AndroidEnableObsoleteOverrideInheritance)' == '' " >true</AndroidEnableObsoleteOverrideInheritance >
43
44
<AndroidEnableRestrictToAttributes Condition =" '$(AndroidEnableRestrictToAttributes)' == '' " >obsolete</AndroidEnableRestrictToAttributes >
44
45
Original file line number Diff line number Diff line change @@ -48,6 +48,8 @@ public class BindingsGenerator : AndroidDotnetToolTask
48
48
49
49
public string LangVersion { get ; set ; }
50
50
51
+ public bool EmitLegacyInterfaceInvokers { get ; set ; }
52
+
51
53
public bool EnableBindingStaticAndDefaultInterfaceMethods { get ; set ; }
52
54
public bool EnableBindingNestedInterfaceTypes { get ; set ; }
53
55
public bool EnableBindingInterfaceConstants { get ; set ; }
@@ -209,6 +211,10 @@ protected override string GenerateCommandLineCommands ()
209
211
if ( SupportsCSharp8 ) {
210
212
var features = new List < string > ( ) ;
211
213
214
+ if ( EmitLegacyInterfaceInvokers ) {
215
+ features . Add ( "emit-legacy-interface-invokers" ) ;
216
+ }
217
+
212
218
if ( EnableBindingInterfaceConstants )
213
219
features . Add ( "interface-constants" ) ;
214
220
Original file line number Diff line number Diff line change 8
8
"Size": 1024
9
9
},
10
10
"assemblies/Java.Interop.dll": {
11
- "Size": 61886
11
+ "Size": 61350
12
12
},
13
13
"assemblies/Mono.Android.dll": {
14
- "Size": 88044
14
+ "Size": 90818
15
15
},
16
16
"assemblies/Mono.Android.Runtime.dll": {
17
- "Size": 5509
17
+ "Size": 5514
18
18
},
19
19
"assemblies/rc.bin": {
20
- "Size": 1395
20
+ "Size": 1512
21
21
},
22
22
"assemblies/System.Console.dll": {
23
- "Size": 6400
23
+ "Size": 6536
24
24
},
25
25
"assemblies/System.Linq.dll": {
26
- "Size": 9199
26
+ "Size": 7118
27
27
},
28
28
"assemblies/System.Private.CoreLib.dll": {
29
- "Size": 550507
29
+ "Size": 550324
30
30
},
31
31
"assemblies/System.Runtime.dll": {
32
- "Size": 2621
32
+ "Size": 2614
33
33
},
34
34
"assemblies/System.Runtime.InteropServices.dll": {
35
- "Size": 3858
35
+ "Size": 3851
36
36
},
37
37
"assemblies/UnnamedProject.dll": {
38
- "Size": 2933
38
+ "Size": 2932
39
39
},
40
40
"classes.dex": {
41
- "Size": 377064
41
+ "Size": 377956
42
42
},
43
43
"lib/arm64-v8a/libmono-component-marshal-ilgen.so": {
44
44
"Size": 97080
45
45
},
46
46
"lib/arm64-v8a/libmonodroid.so": {
47
- "Size": 325320
47
+ "Size": 334784
48
48
},
49
49
"lib/arm64-v8a/libmonosgen-2.0.so": {
50
- "Size": 3189360
50
+ "Size": 3193200
51
51
},
52
52
"lib/arm64-v8a/libSystem.IO.Compression.Native.so": {
53
53
"Size": 723560
54
54
},
55
55
"lib/arm64-v8a/libSystem.Native.so": {
56
- "Size": 93920
56
+ "Size": 93952
57
57
},
58
58
"lib/arm64-v8a/libSystem.Security.Cryptography.Native.Android.so": {
59
59
"Size": 154904
60
60
},
61
61
"lib/arm64-v8a/libxamarin-app.so": {
62
- "Size": 11576
62
+ "Size": 11648
63
63
},
64
64
"META-INF/BNDLTOOL.RSA": {
65
- "Size": 1213
65
+ "Size": 1221
66
66
},
67
67
"META-INF/BNDLTOOL.SF": {
68
68
"Size": 3037
Original file line number Diff line number Diff line change 11
11
"Size": 7112
12
12
},
13
13
"assemblies/Java.Interop.dll": {
14
- "Size": 70036
14
+ "Size": 69472
15
15
},
16
16
"assemblies/Mono.Android.dll": {
17
- "Size": 471216
17
+ "Size": 447387
18
18
},
19
19
"assemblies/Mono.Android.Runtime.dll": {
20
- "Size": 5506
20
+ "Size": 5514
21
21
},
22
22
"assemblies/mscorlib.dll": {
23
23
"Size": 3852
206
206
"Size": 42282
207
207
},
208
208
"classes.dex": {
209
- "Size": 3513140
209
+ "Size": 3514468
210
210
},
211
211
"lib/arm64-v8a/libmono-component-marshal-ilgen.so": {
212
212
"Size": 97080
213
213
},
214
214
"lib/arm64-v8a/libmonodroid.so": {
215
- "Size": 325320
215
+ "Size": 334784
216
216
},
217
217
"lib/arm64-v8a/libmonosgen-2.0.so": {
218
218
"Size": 3193200
227
227
"Size": 154904
228
228
},
229
229
"lib/arm64-v8a/libxamarin-app.so": {
230
- "Size": 102840
230
+ "Size": 102888
231
231
},
232
232
"META-INF/android.support.design_material.version": {
233
233
"Size": 12
1916
1916
"Size": 325240
1917
1917
}
1918
1918
},
1919
- "PackageSize": 7973902
1919
+ "PackageSize": 7949326
1920
1920
}
You can’t perform that action at this time.
0 commit comments