NET8 MAUI升级VS17.8.6后Android代码收缩器等选项消失
.NET 8 MAUI 升级VS 17.8.6后代码收缩/DEX编译器选项消失及Google Play警告解决方案
一、找回代码收缩(Code Shrinker)和DEX编译器选项
VS 17.8+版本对MAUI Android的项目UI设置做了调整,原有的Dex Compiler和Code Shrinker选项不再直接显示,需手动编辑项目文件配置:
- 打开MAUI项目的
.csproj文件,添加以下XML配置:
<PropertyGroup Condition="'$(TargetFramework)' == 'net8.0-android'"> <!-- 启用R8代码收缩 --> <AndroidEnableProguard>true</AndroidEnableProguard> <AndroidCodeSharing>None</AndroidCodeSharing> <!-- 指定DEX编译器为D8 --> <AndroidDexTool>d8</AndroidDexTool> </PropertyGroup>
- 保存文件后重新加载项目,配置即可生效。
二、解决Google Play控制台的两个警告
1. 关联混淆映射文件
启用R8后,Release构建会自动生成混淆映射文件,路径为$(OutputPath)\android\release\mapping\mapping.txt。上传App Bundle到Google Play时,在发布管理 > 应用签名页面找到“上传混淆映射文件”入口,手动上传该文件即可。
2. 上传原生代码调试符号
MAUI Android项目的调试符号文件(.sym)会在Release构建时生成在输出目录。上传App Bundle时,在Google Play控制台的上传步骤勾选“上传调试符号”,选择对应符号文件;也可在项目文件中添加配置自动包含符号:
<PropertyGroup Condition="'$(TargetFramework)' == 'net8.0-android'"> <AndroidCreatePackagePerAbi>true</AndroidCreatePackagePerAbi> <AndroidIncludeSymbols>true</AndroidIncludeSymbols> </PropertyGroup>
内容的提问来源于stack exchange,提问作者Enrico
相关产品推荐
相关产品推荐

