Skip to content

Commit 23c3d39

Browse files
committed
Fix after rebase
1 parent 947a608 commit 23c3d39

File tree

14 files changed

+125
-191
lines changed

14 files changed

+125
-191
lines changed

Xamarin.Android.sln

+7
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "proguard-android", "src\pro
127127
EndProject
128128
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "native-clr", "src\native\native-clr.csproj", "{39F49484-872A-489D-8E6B-3BC532DD571D}"
129129
EndProject
130+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Android.Runtime.NativeAOT", "src\Microsoft.Android.Runtime.NativeAOT\Microsoft.Android.Runtime.NativeAOT.csproj", "{E8831F32-11D7-D42C-E43C-711998BC357A}"
131+
EndProject
130132
Global
131133
GlobalSection(SolutionConfigurationPlatforms) = preSolution
132134
Debug|AnyCPU = Debug|AnyCPU
@@ -353,6 +355,10 @@ Global
353355
{39F49484-872A-489D-8E6B-3BC532DD571D}.Debug|AnyCPU.Build.0 = Debug|Any CPU
354356
{39F49484-872A-489D-8E6B-3BC532DD571D}.Release|AnyCPU.ActiveCfg = Release|Any CPU
355357
{39F49484-872A-489D-8E6B-3BC532DD571D}.Release|AnyCPU.Build.0 = Release|Any CPU
358+
{E8831F32-11D7-D42C-E43C-711998BC357A}.Debug|AnyCPU.ActiveCfg = Debug|Any CPU
359+
{E8831F32-11D7-D42C-E43C-711998BC357A}.Debug|AnyCPU.Build.0 = Debug|Any CPU
360+
{E8831F32-11D7-D42C-E43C-711998BC357A}.Release|AnyCPU.ActiveCfg = Release|Any CPU
361+
{E8831F32-11D7-D42C-E43C-711998BC357A}.Release|AnyCPU.Build.0 = Release|Any CPU
356362
EndGlobalSection
357363
GlobalSection(SolutionProperties) = preSolution
358364
HideSolutionNode = FALSE
@@ -413,6 +419,7 @@ Global
413419
{5E806C9F-1B67-4B6B-A6AB-258834250DBB} = {FFCF518F-2A4A-40A2-9174-2EE13B76C723}
414420
{5FD0133B-69E5-4474-9B67-9FD1D0150C70} = {FFCF518F-2A4A-40A2-9174-2EE13B76C723}
415421
{39F49484-872A-489D-8E6B-3BC532DD571D} = {FFCF518F-2A4A-40A2-9174-2EE13B76C723}
422+
{E8831F32-11D7-D42C-E43C-711998BC357A} = {04E3E11E-B47D-4599-8AFC-50515A95E715}
416423
EndGlobalSection
417424
GlobalSection(ExtensibilityGlobals) = postSolution
418425
SolutionGuid = {53A1F287-EFB2-4D97-A4BB-4A5E145613F6}

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

+2-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
<Import Project="Microsoft.Android.Sdk.BundledVersions.targets" />
2727
<Import Project="Microsoft.Android.Sdk.DefaultProperties.targets" />
2828
<Import Project="$(MSBuildThisFileDirectory)..\tools\Xamarin.Android.Common.Debugging.props"
29-
Condition="Exists('$(MSBuildThisFileDirectory)..\tools\Xamarin.Android.Common.Debugging.props')"/>
29+
Condition="Exists('$(MSBuildThisFileDirectory)..\tools\Xamarin.Android.Common.Debugging.props') And '$(DesignTimeBuild)' != 'true' "/>
30+
<Import Project="Microsoft.Android.Sdk.CoreCLR.targets" Condition=" '$(_AndroidRuntime)' == 'CoreCLR' " />
3031
<Import Project="Microsoft.Android.Sdk.NativeAOT.targets" Condition=" '$(_AndroidRuntime)' == 'NativeAOT' " />
3132

3233
</Project>

src/Xamarin.Android.Build.Tasks/Microsoft.NET.Sdk.Android/WorkloadManifest.in.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
],
1616
"platforms": [ "win-x64", "win-arm64", "linux-x64", "linux-arm64", "osx-x64", "osx-arm64" ],
1717
"extends" : [
18-
"microsoft-net-runtime-android-net8",
19-
"microsoft-net-runtime-android-aot-net8",
18+
"microsoft-net-runtime-android-net9",
19+
"microsoft-net-runtime-android-aot-net9",
2020
"microsoft-net-runtime-android",
2121
"microsoft-net-runtime-android-aot"
2222
]

src/Xamarin.Android.Build.Tasks/Tasks/CollectAssemblyFilesForArchive.cs

+4-11
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,7 @@ public class CollectAssemblyFilesToCompress : AndroidTask
2222
[Required]
2323
public string AssemblyCompressionDirectory { get; set; } = "";
2424

25-
[Required]
26-
public ITaskItem[] ResolvedRuntimePacks { get; set; } = Array.Empty<ITaskItem> ();
27-
28-
[Required]
29-
public string ApkOutputPath { get; set; } = "";
30-
31-
[Required]
32-
public string AppSharedLibrariesDir { get; set; } = "";
25+
public bool EmbedAssemblies { get; set; }
3326

3427
[Required]
3528
public bool EnableCompression { get; set; }
@@ -62,9 +55,9 @@ public override bool RunTask ()
6255
ResolvedFrameworkAssembliesOutput = ResolvedFrameworkAssemblies;
6356
ResolvedUserAssembliesOutput = ResolvedUserAssemblies;
6457

65-
DSOWrapperGenerator.Config dsoWrapperConfig = DSOWrapperGenerator.GetConfig (Log, AndroidBinUtilsDirectory, ResolvedRuntimePacks, IntermediateOutputPath);
66-
bool compress = !IncludeDebugSymbols && EnableCompression;
67-
IDictionary<AndroidTargetArch, Dictionary<string, CompressedAssemblyInfo>>? compressedAssembliesInfo = null;
58+
// We aren't going to compress any assemblies
59+
if (IncludeDebugSymbols || !EnableCompression || !EmbedAssemblies)
60+
return true;
6861

6962
var assemblies_to_compress = new List<ITaskItem> ();
7063
var compressed_assemblies_info = GetCompressedAssemblyInfo ();

src/Xamarin.Android.Build.Tasks/Tasks/GenerateJavaStubs.cs

+27-6
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,14 @@ public class GenerateJavaStubs : AndroidTask
7272
[Required]
7373
public string AndroidRuntime { get; set; } = "";
7474

75+
public string CodeGenerationTarget { get; set; } = "";
76+
77+
[Required]
78+
public string TargetName { get; set; } = "";
79+
80+
AndroidRuntime androidRuntime;
81+
JavaPeerStyle codeGenerationTarget;
82+
7583
internal const string AndroidSkipJavaStubGeneration = "AndroidSkipJavaStubGeneration";
7684

7785
public override bool RunTask ()
@@ -243,10 +251,23 @@ void Run (bool useMarshalMethods)
243251

244252
internal static Dictionary<string, ITaskItem> MaybeGetArchAssemblies (Dictionary<AndroidTargetArch, Dictionary<string, ITaskItem>> dict, AndroidTargetArch arch)
245253
{
246-
if (androidRuntime != Xamarin.Android.Tasks.AndroidRuntime.MonoVM &&
247-
androidRuntime != Xamarin.Android.Tasks.AndroidRuntime.CoreCLR) {
248-
Log.LogDebugMessage ($"Skipping MonoRuntimeProvider generation for: {androidRuntime}");
249-
return;
254+
if (androidRuntime != Xamarin.Android.Tasks.AndroidRuntime.CoreCLR) {
255+
// Create additional runtime provider java sources.
256+
bool isMonoVM = androidRuntime == Xamarin.Android.Tasks.AndroidRuntime.MonoVM;
257+
string providerTemplateFile = isMonoVM ?
258+
"MonoRuntimeProvider.Bundled.java" :
259+
"NativeAotRuntimeProvider.java";
260+
string providerTemplate = GetResource (providerTemplateFile);
261+
262+
foreach (var provider in additionalProviders) {
263+
var contents = providerTemplate.Replace (isMonoVM ? "MonoRuntimeProvider" : "NativeAotRuntimeProvider", provider);
264+
var real_provider = isMonoVM ?
265+
Path.Combine (OutputDirectory, "src", "mono", provider + ".java") :
266+
Path.Combine (OutputDirectory, "src", "net", "dot", "jni", "nativeaot", provider + ".java");
267+
Files.CopyIfStringChanged (contents, real_provider);
268+
}
269+
} else {
270+
Log.LogDebugMessage ($"Skipping android.content.ContentProvider generation for: {androidRuntime}");
250271
}
251272

252273
// For NativeAOT, generate JavaInteropRuntime.java
@@ -304,7 +325,7 @@ IList<string> MergeManifest (NativeCodeGenState codeGenState, Dictionary<string,
304325
Debug = Debug,
305326
MultiDex = MultiDex,
306327
NeedsInternet = NeedsInternet,
307-
AndroidRuntime = AndroidRuntime,
328+
AndroidRuntime = androidRuntime,
308329
};
309330
// Only set manifest.VersionCode if there is no existing value in AndroidManifest.xml.
310331
if (manifest.HasVersionCode) {
@@ -338,7 +359,7 @@ IList<string> MergeManifest (NativeCodeGenState codeGenState, Dictionary<string,
338359
(List<TypeDefinition> allJavaTypes, List<TypeDefinition> javaTypesForJCW) = ScanForJavaTypes (resolver, tdCache, assemblies, userAssemblies, useMarshalMethods);
339360
var jcwContext = new JCWGeneratorContext (arch, resolver, assemblies.Values, javaTypesForJCW, tdCache, useMarshalMethods);
340361
var jcwGenerator = new JCWGenerator (Log, jcwContext) {
341-
CodeGenerationTarget = androidRuntime == Xamarin.Android.Tasks.AndroidRuntime.MonoVM ? JavaPeerStyle.XAJavaInterop1 : JavaPeerStyle.JavaInterop1
362+
CodeGenerationTarget = codeGenerationTarget,
342363
};
343364
bool success;
344365

src/Xamarin.Android.Build.Tasks/Tasks/WrapAssembliesAsSharedLibraries.cs

+4-1
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ public class WrapAssembliesAsSharedLibraries : AndroidTask
2424
[Required]
2525
public string AndroidBinUtilsDirectory { get; set; } = "";
2626

27+
[Required]
28+
public ITaskItem[] ResolvedRuntimePacks { get; set; } = Array.Empty<ITaskItem> ();
29+
2730
public bool IncludeDebugSymbols { get; set; }
2831

2932
[Required]
@@ -42,7 +45,7 @@ public class WrapAssembliesAsSharedLibraries : AndroidTask
4245

4346
public override bool RunTask ()
4447
{
45-
var wrapper_config = DSOWrapperGenerator.GetConfig (Log, AndroidBinUtilsDirectory, IntermediateOutputPath);
48+
var wrapper_config = DSOWrapperGenerator.GetConfig (Log, AndroidBinUtilsDirectory, ResolvedRuntimePacks, IntermediateOutputPath);
4649
var files = new PackageFileListBuilder ();
4750

4851
if (UseAssemblyStore)

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Base/BuildReleaseArm64SimpleDotNet.apkdesc

+13-13
Original file line numberDiff line numberDiff line change
@@ -5,34 +5,34 @@
55
"Size": 3036
66
},
77
"classes.dex": {
8-
"Size": 22444
8+
"Size": 22484
99
},
1010
"lib/arm64-v8a/lib__Microsoft.Android.Resource.Designer.dll.so": {
11-
"Size": 18296
11+
"Size": 18288
1212
},
1313
"lib/arm64-v8a/lib_Java.Interop.dll.so": {
14-
"Size": 86352
14+
"Size": 86688
1515
},
1616
"lib/arm64-v8a/lib_Mono.Android.dll.so": {
17-
"Size": 116920
17+
"Size": 117712
1818
},
1919
"lib/arm64-v8a/lib_Mono.Android.Runtime.dll.so": {
20-
"Size": 22408
20+
"Size": 22384
2121
},
2222
"lib/arm64-v8a/lib_System.Console.dll.so": {
23-
"Size": 24376
23+
"Size": 24392
2424
},
2525
"lib/arm64-v8a/lib_System.Linq.dll.so": {
2626
"Size": 25336
2727
},
2828
"lib/arm64-v8a/lib_System.Private.CoreLib.dll.so": {
29-
"Size": 634384
29+
"Size": 628216
3030
},
3131
"lib/arm64-v8a/lib_System.Runtime.dll.so": {
32-
"Size": 20040
32+
"Size": 20056
3333
},
3434
"lib/arm64-v8a/lib_System.Runtime.InteropServices.dll.so": {
35-
"Size": 21584
35+
"Size": 21480
3636
},
3737
"lib/arm64-v8a/lib_UnnamedProject.dll.so": {
3838
"Size": 20024
@@ -44,10 +44,10 @@
4444
"Size": 36440
4545
},
4646
"lib/arm64-v8a/libmonodroid.so": {
47-
"Size": 1501240
47+
"Size": 1524752
4848
},
4949
"lib/arm64-v8a/libmonosgen-2.0.so": {
50-
"Size": 3196512
50+
"Size": 3101112
5151
},
5252
"lib/arm64-v8a/libSystem.Globalization.Native.so": {
5353
"Size": 71976
@@ -62,7 +62,7 @@
6262
"Size": 165000
6363
},
6464
"lib/arm64-v8a/libxamarin-app.so": {
65-
"Size": 18264
65+
"Size": 19536
6666
},
6767
"META-INF/BNDLTOOL.RSA": {
6868
"Size": 1221
@@ -98,5 +98,5 @@
9898
"Size": 1904
9999
}
100100
},
101-
"PackageSize": 3111445
101+
"PackageSize": 3078677
102102
}

0 commit comments

Comments
 (0)