我有三星A8 手机。 Android 版本 - 7.1.1
尝试在 Visual Studio 2017上使用 Xamarin 创建简单的应用程序。在项目属性中 - >应用程序我已设置“使用最新的Paltform(Android 7.1(牛轧糖))”。
这是我的源代码。
Main.axml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:text="text1"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/textLizaMath" />
<Button
android:text="Click"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/btnLizaMath" />
</LinearLayout>
BtnClick.cs:
namespace Core
{
public static class BtnClick
{
public static string GenerateText(string text)
{
if (text.Equals("text1")) return "text2";
return "text1";
}
}
}
MainActivity.cs
using Android.App;
using Android.Widget;
using Android.OS;
namespace Mobile
{
[Activity(Label = "LizaN", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.Main);
var btn = FindViewById<Button>(Resource.Id.btnLizaMath);
var lizaText = FindViewById<TextView>(Resource.Id.textLizaMath);
btn.Click += (sender, e) =>
{
var tmpText = Core.BtnClick.GenerateText(lizaText.Text);
lizaText.Text = tmpText;
};
}
}
}
当我在 VS 中启动它时,它按预期工作。然后我转到 bin / debug 文件夹并将 Mobile.Mobile.apk 和 Mobile.Mobile-Signed.apk 复制到我的手机。 Mobile.Mobile.apk 根本没有安装说它已损坏。我能够安装 Mobile.Mobile-Signed.apk ,但是当我尝试运行它时崩溃没有任何有意义的错误消息。
我该怎么办?
更新:
我尝试过“存档”然后失败并显示错误消息:“已启用共享单元运行时”,我转到项目属性 - &gt; Android选项并禁用“使用共享运行时”。之后我就能归档了。应用程序的大小增加了10倍。我已经复制了所有文件(不仅是.apk),但是当我尝试安装它时说“包已损坏”(我不知道确切的英文错误消息文本,但它有点像那)
答案 0 :(得分:0)
尝试恢复您的nuget包。更新xamarin.forms nuget。你可以分享你的示例项目的链接