【问题标题】:XamarinForms app running correctly on UWP but not on AndroidXamarinForms 应用程序在 UWP 上正常运行,但在 Android 上不正常
【发布时间】:2018-04-29 02:22:01
【问题描述】:

我正在尝试学习 XamarinForms,我刚刚制作了这个应用程序(使用 Visual Studio 2017 15.4.4。),它显示了一个带有颜色的 ListView(来自本书的第 8 章 https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/)。基本上它有一个从 ContentView 派生的 ColorView 类,用于每个单独的颜色项的布局和一个 ColorViewList,它是显示颜色列表的主页。

现在的问题是:它在 UWP 上运行良好,但在 Android 上运行良好,在通过 XamarinLive 部署时它只显示一个空的可滚动白页,并且只是一个空白页,然后在通过 APK 安装时立即关闭(我也有很多XamarinLive 的问题有时会拒绝连接,而 VS Android 模拟器只是拒绝部署,但这不是问题)。

任何想法是什么原因造成的?可能与将字符串转换为实际颜色的 ColorName 属性有关?

这是我做的项目https://github.com/TJorj/ColorViewList

我还从 Xamarin https://github.com/TJorj/xamarin-forms-book-samples/tree/master/Chapter08/ColorViewList 下载了示例,它的行为方式似乎与我自己的相同。

【问题讨论】:

  • 我已经运行了你发布的项目,它在本地模拟器上运行良好,所以我不认为这是项目的问题。您能否尝试在谷歌模拟器或真实设备上运行该项目?
  • @ElvisXia-MSFT 我不确定您所说的“谷歌模拟器”是什么意思。我设法让 Visual Studio 中的 Android 模拟器运行,但部署失败并出现“安装失败,没有匹配的 abis 无法提取本机库”错误。我设法让它在调试模式下工作,通过 USB 部署到真实设备,但奇怪的是它仍然在发布模式下崩溃。
  • 您能告诉我您使用的是哪个模拟器吗?我的意思是模拟器的全名。
  • @ElvisXia-MSFT 这是安装Android SDK时附带的Android 7.1.1模拟器。通过将 CPU/ABI 设置为 Google APIs Intel Atom (x86),我设法让应用程序在模拟器上以调试模式运行。不过,发布版本在 live 和 emulator 上仍然失败。

标签: c# android visual-studio xamarin uwp


【解决方案1】:

安装 Android SDK 时附带的模拟器。通过将 CPU/ABI 设置为 Google APIs Intel Atom (x86),我设法让应用程序在模拟器上以调试模式运行。不过,发布版本在 live 和 emulator 上仍然失败

为了运行一个发布版本的android应用,你需要先对构建的apk进行签名,你可以参考Signing the Android Application Package了解如何为你的应用签名。

即使您已在设备/模拟器中运行已发布的应用程序,也无法对其进行调试。您仍然需要调试模式来调试您的应用。

【讨论】:

  • 我确实签署了它,但它只是在启动后崩溃,尽管在调试模式下正常运行。当我在发布构建选项中激活 ProGuard 时,我在制作的主应用程序上遇到了这个问题,但是 ColorView 应用程序在有和没有它的情况下都会崩溃。我只是希望这与为列表中的每个单独项目使用布局无关,因为我打算在我的主应用程序中使用该概念。
猜你喜欢
  • 1970-01-01
  • 2021-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
  • 2020-11-01
相关资源
最近更新 更多