diff --git a/Xamarin.Android.sln b/Xamarin.Android.sln index 8312759986b..07f271aaa0f 100644 --- a/Xamarin.Android.sln +++ b/Xamarin.Android.sln @@ -125,6 +125,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{FFCF518F-2A4 EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Android.Sdk.Analysis", "src\Microsoft.Android.Sdk.Analysis\Microsoft.Android.Sdk.Analysis.csproj", "{5E806C9F-1B67-4B6B-A6AB-258834250DBB}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "proguard-android", "src\proguard-android\proguard-android.csproj", "{5FD0133B-69E5-4474-9B67-9FD1D0150C70}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|AnyCPU = Debug|AnyCPU @@ -343,6 +345,10 @@ Global {5E806C9F-1B67-4B6B-A6AB-258834250DBB}.Debug|AnyCPU.Build.0 = Debug|Any CPU {5E806C9F-1B67-4B6B-A6AB-258834250DBB}.Release|AnyCPU.ActiveCfg = Release|Any CPU {5E806C9F-1B67-4B6B-A6AB-258834250DBB}.Release|AnyCPU.Build.0 = Release|Any CPU + {5FD0133B-69E5-4474-9B67-9FD1D0150C70}.Debug|AnyCPU.ActiveCfg = Debug|Any CPU + {5FD0133B-69E5-4474-9B67-9FD1D0150C70}.Debug|AnyCPU.Build.0 = Debug|Any CPU + {5FD0133B-69E5-4474-9B67-9FD1D0150C70}.Release|AnyCPU.ActiveCfg = Release|Any CPU + {5FD0133B-69E5-4474-9B67-9FD1D0150C70}.Release|AnyCPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -402,6 +408,7 @@ Global {BA4D889D-066B-4C2C-A973-09E319CBC396} = {E351F97D-EA4F-4E7F-AAA0-8EBB1F2A4A62} {A39B6D7C-6616-40D6-8AE4-C6CEE93D2708} = {CAB438D8-B0F5-4AF0-BEBD-9E2ADBD7B483} {5E806C9F-1B67-4B6B-A6AB-258834250DBB} = {FFCF518F-2A4A-40A2-9174-2EE13B76C723} + {5FD0133B-69E5-4474-9B67-9FD1D0150C70} = {FFCF518F-2A4A-40A2-9174-2EE13B76C723} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {53A1F287-EFB2-4D97-A4BB-4A5E145613F6} diff --git a/build-tools/installers/create-installers.targets b/build-tools/installers/create-installers.targets index db32f44d553..fda3ca6b9e3 100644 --- a/build-tools/installers/create-installers.targets +++ b/build-tools/installers/create-installers.targets @@ -138,6 +138,7 @@ <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_net6.dex" ExcludeFromLegacy="true" /> <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)java_runtime_fastdev_net6.dex" ExcludeFromLegacy="true" /> <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)manifestmerger.jar" /> + <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)proguard-android.txt" /> <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)protobuf-net.dll" /> <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)System.CodeDom.dll" /> <_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)System.Collections.Immutable.dll" /> diff --git a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets index d34717d1ff5..dc75c5a0031 100644 --- a/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets +++ b/src/Xamarin.Android.Build.Tasks/Xamarin.Android.Common.targets @@ -1899,7 +1899,7 @@ because xbuild doesn't support framework reference assemblies. <_ProguardConfiguration Include="$(ProguardConfigFiles)" /> - <_ProguardConfiguration Include="$(_AndroidSdkDirectory)tools\proguard\proguard-android.txt" Condition=" Exists ('$(_AndroidSdkDirectory)tools\proguard\proguard-android.txt') " /> + <_ProguardConfiguration Include="$(MSBuildThisFileDirectory)proguard-android.txt" /> <_ProguardConfiguration Include="$(IntermediateOutputPath)proguard\proguard_xamarin.cfg" Condition=" '$(AndroidLinkTool)' != '' " /> <_ProguardConfiguration Include="$(_ProguardProjectConfiguration)" Condition=" '$(AndroidLinkTool)' != '' " /> <_ProguardConfiguration Include="$(IntermediateOutputPath)proguard\proguard_project_primary.cfg" Condition=" '$(AndroidLinkTool)' != '' " /> diff --git a/src/proguard-android/.gitignore b/src/proguard-android/.gitignore new file mode 100644 index 00000000000..b70901a3c2d --- /dev/null +++ b/src/proguard-android/.gitignore @@ -0,0 +1,6 @@ +.idea/ +build/ +out/ +.classpath +.project +.settings/ diff --git a/src/proguard-android/build.gradle b/src/proguard-android/build.gradle new file mode 100644 index 00000000000..b168ffa79e6 --- /dev/null +++ b/src/proguard-android/build.gradle @@ -0,0 +1,14 @@ +plugins { + id 'com.android.application' version '8.7.0' +} + +repositories { + google() + mavenCentral() +} + +android { + namespace 'com.microsoft.proguard.android' + // Setting the minimum we support at the moment, might not matter + compileSdk 21 +} \ No newline at end of file diff --git a/src/proguard-android/proguard-android.csproj b/src/proguard-android/proguard-android.csproj new file mode 100644 index 00000000000..80ee062aaf8 --- /dev/null +++ b/src/proguard-android/proguard-android.csproj @@ -0,0 +1,10 @@ + + + Exe + netstandard2.0 + false + bin\$(Configuration) + + + + \ No newline at end of file diff --git a/src/proguard-android/proguard-android.targets b/src/proguard-android/proguard-android.targets new file mode 100644 index 00000000000..c2664819ae0 --- /dev/null +++ b/src/proguard-android/proguard-android.targets @@ -0,0 +1,34 @@ + + + <_Destination>$(MicrosoftAndroidSdkOutDir)proguard-android.txt + + + + + + <_ProguardRules Include="$(MSBuildThisFileDirectory)build\intermediates\default_proguard_files\global\proguard-android.txt-*" /> + + + + + + + + + + + diff --git a/src/proguard-android/settings.gradle b/src/proguard-android/settings.gradle new file mode 100644 index 00000000000..958c11d72b5 --- /dev/null +++ b/src/proguard-android/settings.gradle @@ -0,0 +1,8 @@ +pluginManagement { + repositories { + gradlePluginPortal() + google() + mavenCentral() + } +} +rootProject.name = 'proguard-android' \ No newline at end of file