VS2019+Android SDK API30 部署成功但模拟器未运行Android应用
开发环境与问题场景
- 开发工具:Visual Studio 2019
- 开发类型:Android应用开发
- 配套环境:Android SDK API 30
- 异常表现:VS输出窗口明确提示应用部署成功,待模拟器完全加载完成后,界面上始终看不到运行的应用。

输出日志原文与中文翻译
第一部分日志
原文日志:
Build started... 1>------ Build started: Project: Jeevitham, Configuration: Debug Any CPU ------ ... 4>Starting deployment to pixel_2_r_11_0_-_api_30 ... 4>Starting emulator pixel_2_r_11_0_-_api_30 ... 4>C:\Program Files (x86)\Android\android-sdk\emulator\emulator.EXE -no-boot-anim -verbose -avd pixel_2_r_11_0_-_api_30 -prop monodroid.avdname=pixel_2_r_11_0_-_api_30 4>Emulator pixel_2_r_11_0_-_api_30 is running. 4>Deploying to pixel_2_r_11_0_-_api_30 ... Build started. Project "Jeevitham.Android.csproj" (Install target(s)): Found Java SDK version 1.8.0. Found Java SDK version 1.8.0. PackageName: com.companyname.jeevitham Dex Fast Deployment Enabled: False MonoAndroid Tools: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\ Android Platform API level: 30 TargetFrameworkVersion: v11.0 Android NDK: Android SDK: C:\Program Files (x86)\Android\android-sdk\ Android SDK Build Tools: C:\Program Files (x86)\Android\android-sdk\build-tools\30.0.2\ Java SDK: C:\Program Files\Android\Jdk\microsoft_dist_openjdk_1.8.0.25\ Application Java class: android.app.Application Project "Jeevitham.csproj" (GetTargetFrameworks target(s)): Done building project "Jeevitham.csproj". Project "Jeevitham.csproj" (GetTargetPath target(s)): Done building project "Jeevitham.csproj". Project "Jeevitham.csproj" (GetNativeManifest target(s)): Done building project "Jeevitham.csproj". Skipping target "_ResolveLibraryProjectImports" because all output files are up-to-date with respect to the input files. ... Skipping target "_CompileToDalvik" because all output files are up-to-date with respect to the input files. Copying file from "z:\mobile\VSPodcast\Jeevitham new\Jeevitham\Jeevitham.Android\obj\Debug\110\android\bin\com.companyname.jeevitham.apk" to "z:\mobile\VSPodcast\Jeevitham new\Jeevitham\Jeevitham.Android\bin\Debug\com.companyname.jeevitham.apk".
对应中文翻译:
生成开始... 1>------ 已启动项目生成: Jeevitham, 配置: Debug 任意CPU ------ ... 4>正在向 pixel_2_r_11_0_-_api_30 执行部署 ... 4>正在启动模拟器 pixel_2_r_11_0_-_api_30 ... 4>模拟器启动命令: C:\Program Files (x86)\Android\android-sdk\emulator\emulator.EXE -no-boot-anim -verbose -avd pixel_2_r_11_0_-_api_30 -prop monodroid.avdname=pixel_2_r_11_0_-_api_30 4>模拟器 pixel_2_r_11_0_-_api_30 已进入运行状态。 4>正在向 pixel_2_r_11_0_-_api_30 传输部署内容 ... 生成开始。 项目 "Jeevitham.Android.csproj" (安装目标节点): 已检测到Java SDK版本 1.8.0。 已检测到Java SDK版本 1.8.0。 应用包名: com.companyname.jeevitham Dex快速部署: 已关闭 MonoAndroid工具路径: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\ Android平台API级别: 30 目标框架版本: v11.0 Android NDK路径: 未配置 Android SDK路径: C:\Program Files (x86)\Android\android-sdk\ Android SDK构建工具路径: C:\Program Files (x86)\Android\android-sdk\build-tools\30.0.2\ Java SDK路径: C:\Program Files\Android\Jdk\microsoft_dist_openjdk_1.8.0.25\ 应用默认Java类: android.app.Application 项目 "Jeevitham.csproj" (获取目标框架节点): 项目生成完成。 项目 "Jeevitham.csproj" (获取目标输出路径节点): 项目生成完成。 项目 "Jeevitham.csproj" (获取原生清单节点): 项目生成完成。 跳过目标任务 "_ResolveLibraryProjectImports",所有输出文件与输入文件版本一致,无需重新处理。 ... 跳过目标任务 "_CompileToDalvik",所有输出文件与输入文件版本一致,无需重新处理。 正在复制APK文件,源路径: "z:\mobile\VSPodcast\Jeevitham new\Jeevitham\Jeevitham.Android\obj\Debug\110\android\bin\com.companyname.jeevitham.apk",目标路径: "z:\mobile\VSPodcast\Jeevitham new\Jeevitham\Jeevitham.Android\bin\Debug\com.companyname.jeevitham.apk"。
第二部分接续日志
原文日志:
Creating "obj\Debug\110\android_debug_keystore.flag" because "AlwaysCreate" was specified. C:\Program Files (x86)\Android\android-sdk\build-tools\30.0.2\zipalign.exe -p 4 "z:\mobile\VSPodcast\Jeevitham new\Jeevitham\Jeevitham.Android\obj\Debug\110\android\bin\com.companyname.jeevitham.apk" "bin\Debug\\com.companyname.jeevitham-Signed.apk" C:\Program Files\Android\Jdk\microsoft_dist_openjdk_1.8.0.25\bin\java.exe -jar "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\apksigner.jar" sign --ks "C:\Users\John Mangam\AppData\Local\Xamarin\Mono for Android\debug.keystore" --ks-pass pass:android --ks-key-alias androiddebugkey --key-pass pass:android --min-sdk-version 21 --max-sdk-version 30 "z:\mobile\VSPodcast\Jeevitham new\Jeevitham\Jeevitham.Android\bin\Debug\com.companyname.jeevitham-Signed.apk" Signed android package 'bin\Debug\com.companyname.jeevitham-Signed.apk' Using cached value from RegisterTaskObject Found device: emulator-5554 Creating "obj\Debug\110\upload.flag" because "AlwaysCreate" was specified. Creating directory "obj\.cache\". Done building project "Jeevitham.Android.csproj". Build succeeded. 4>Deployment was successful to pixel_2_r_11_0_-_api_30. ========== Build: 3 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== ========== Deploy: 1 succeeded, 0 failed, 0 skipped ==========
对应中文翻译:
按照“始终新建”规则,正在创建 "obj\Debug\110\android_debug_keystore.flag" 标记文件。 调用zipalign工具对未签名APK进行内存对齐: C:\Program Files (x86)\Android\android-sdk\build-tools\30.0.2\zipalign.exe -p 4 "z:\mobile\VSPodcast\Jeevitham new\Jeevitham\Jeevitham.Android\obj\Debug\110\android\bin\com.companyname.jeevitham.apk" "bin\Debug\\com.companyname.jeevitham-Signed.apk" 调用apksigner工具对APK进行调试签名: C:\Program Files\Android\Jdk\microsoft_dist_openjdk_1.8.0.25\bin\java.exe -jar "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Xamarin\Android\apksigner.jar" sign --ks "C:\Users\John Mangam\AppData\Local\Xamarin\Mono for Android\debug.keystore" --ks-pass pass:android --ks-key-alias androiddebugkey --key-pass pass:android --min-sdk-version 21 --max-sdk-version 30 "z:\mobile\VSPodcast\Jeevitham new\Jeevitham\Jeevitham.Android\bin\Debug\com.companyname.jeevitham-Signed.apk" APK签名完成: bin\Debug\com.companyname.jeevitham-Signed.apk 加载 RegisterTaskObject 缓存值 检测到连接设备: emulator-5554 按照“始终新建”规则,正在创建 "obj\Debug\110\upload.flag" 标记文件。 创建缓存目录 "obj\.cache\"。 项目 "Jeevitham.Android.csproj" 生成完成。 生成流程成功结束。 4>已完成向 pixel_2_r_11_0_-_api_30 的部署操作。 ========== 生成结果: 3 个项目成功, 0 个失败, 0 个无更新, 0 个已跳过 ========== ========== 部署结果: 1 个项目成功, 0 个失败, 0 个已跳过 ==========
常见排查操作
- 等待模拟器完全加载:API30对应的Android 11系统启动流程耗时较长,需等系统动画完全停止、状态栏可正常下拉、系统通知无加载提示后,再等待应用被自动拉起。
- 验证APK安装状态:打开模拟器的系统设置-应用管理列表,搜索包名
com.companyname.jeevitham,确认APK已完整安装。若已找到应用,手动点击图标即可启动。 - 检查启动入口配置:确认项目中MainActivity类已正确标记
[Activity(Label = "应用名称", MainLauncher = true)]特性,避免因入口配置缺失导致应用安装后无图标、无法被自动拉起。 - 清理缓存重新部署:删除Android项目目录下的
bin、obj文件夹,关闭模拟器后冷启动再次执行部署,排除旧缓存导致的部署流程中断(仅完成文件传输,未完成实际安装与启动操作)。 - 核对部署配置:打开Android项目属性页,确认“启动项目”“快速部署”开关处于开启状态,排除VS仅完成APK上传、未触发安装与启动流程的问题。
内容的提问来源于stack exchange,提问作者John
相关产品推荐
相关产品推荐

