时隔数月 皮燕又痒了 想搞搞Android开发
由于不熟悉Android Studio的操作和Java/Kotlin 所以优先选择熟悉的VS-.NET-MAUI-C#
在这里记录一些遇到的问题 以便以后参考

教程

MSDN的文档过于零散 这里按照一般项目开发的顺序整理 具体细节参考MSDN

在VS中创建示例项目

修改App Identifier(你也不想看到com.examplecompany.appname的包名罢)

  1. 修改.csproj文件中的ApplicationId节点
  2. 如果进行安卓开发 则修改AndroidManifest.xml中的manifest节点的package属性和manifest.application节点的android:label属性为合适的值

更改应用图标

  1. 在网上找到或制作自己的应用图标(最好是SVG格式) 放到合适的目录(如Resources/AppIcon
  2. 修改.csproj文件中的MauiIcon节点的属性 其中
    • Include为背景图片 如Resources\AppIcon\appicon.svg [必选]
    • ForegroundFile为前景图片 如Resources\AppIcon\appiconfg.svg [可选]
    • TintColor为前景色 如White [可选]
    • Color为背景色 如#512BD4 [可选]
    • BaseSize为标准大小 如128,128 [可选]
  3. 修改开屏图片 即.csproj文件中MauiSplashScreen节点的属性 其中
    • Include 为开屏图片 如Resources\Splash\splash.svg
    • Color为背景色 如#512BD4 [可选]
    • BaseSize为标准大小 如128,128 [可选]

问题

MAUI:错误 APT2000 系统找不到指定的文件

error APT2126: file not found

更改全局appicon后安卓生成出错

  • 原因:没有更新AndroidManifest.xml中Application icon
  • 解决方案:在VS中打开AndroidManifest.xml并更改Application icon的值
    或编辑AndroidManifest.xml并将manifest.application节点的android:icon属性更改为合适的值(如@mipmap/appicon

uses-sdk:minSdkVersion 19 cannot be smaller than version 21 declared in library

  • 原因:我也不知道为什么反正就是Android SDK版本出问题了
  • 解决方案:更改.csproj文件中<SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">19.0</SupportedOSPlatformVersion>的值为合适的值 并修改AndroidManifest.xmlmanifest.uses-sdk节点的android:minSdkVersion android:targetSdkVersion属性的值 使之匹配.csproj文件中的值

DisplayAlert方法卡住

  • 原因:不到
  • 解决方案:不要使用.Wait()