在 Visual Studio 中准备 APK
你完成了应用程序,在调试模式下进行了测试,并且它运行良好。现在,你要准备好在 Google Play 商店中发布。
Xamarin 文档提供了良好的信息:
Android Manifest
首先,在 Visual Studio 中,右键单击解决方案资源管理器中的 Xamarin.Android 项目,然后选择属性。然后,转到 Android Manifest 选项卡,查看此屏幕:
与 Android Studio 或 Eclipse 不同,你不需要通过编写设置 AndroidManifest.xml 文件; Xamarin 和 Visual Studio 为你做到这一点。通过在类中声明特定属性,将活动,BroadcastReceivers 和服务插入到 Android Manifest 中 。
在此屏幕中,选项包括:
- 应用程序名称 :这是用户可见的应用程序名称。
- 包名称 :这是包名称。它必须是唯一的,这意味着它不得使用与 Google Play 商店中其他应用相同的包名称。
- 应用程序图标 :这是用户可见的图标,相当于 Android Studio 或 Eclipse 项目中使用的 @ drawable / ic_launcher。
- 版本号 :Google Play 使用版本号进行版本控制。如果要为应用的更新版本发布 APK,则必须为每个新升级添加 1 到此数字。
- 版本名称 :这是将显示给用户的版本名称。
- 安装位置 :这决定了 APK 的安装位置,设备存储空间或 SD 卡。
- 所需权限 :你可以在此处确定应用所需的权限。
Android 选项
在下面的屏幕中,你可以配置编译器选项。在这里使用正确的选项可以减少你的 APK 大小,并防止错误。
- 配置 : 活动(发布) 。
- 平台 : 活动(任何 CPU) 。这些是为 Google Play 商店构建 APK 所必需的。如果配置设置为调试,Google Play 将不会接受该配置。
- 使用共享运行时 : false 。如果将其设置为 true,则 APK 将使用 Mono Runtime 执行。通过 USB 调试时会自动安装 Mono Runtime,但不会在 Release APK 中安装。如果设备中未安装 Mono Runtime,并且在 Release APK 中将此选项设置为 true,则应用程序将崩溃。
- 每个选定的 ABI 生成一个包(.apk) : false 。出于兼容性原因,为尽可能多的平台创建 APK。
- 启用 Multi-Dex : true ,但如果你的应用程序不是很复杂(即,方法少于 65536,请参见此处 ) ,你可以将其设置为 false。
- 启用 Proguard : true 。这使 Proguard 工具能够混淆应用程序中的 Java 代码。请注意,它不适用于 .NET 代码; 如果要混淆 .NET 代码,则必须使用 Dotfuscator 。有关 Proguard for Xamarin.Android 的更多信息,请点击此处 。
- 启用开发人员检测(调试和分析) : 对于 Release APK,为 false 。
- 链接 : SDK 和用户程序集。这将使 Xamarin 链接器从 SDK 和你的代码中删除所有未使用的类,从而减小 APK 大小。
重要
Xamarin.Linker 有时可能会删除代码似乎没有使用的类,特别是如果它们位于项目的 Core(PCL 库)中。为避免这种情况,你可以将链接设置为“仅限 Sdk 程序集”或使用类中的保留属性,例如:
PreserveAttribute.cs
namespace My_App_Core.Models
{
public sealed class PreserveAttribute : System.Attribute
{
public bool AllMembers;
public bool Conditional;
}
}
在课堂上:
using System;
namespace My_App_Core.Models
{
[Preserve(AllMembers = true)]
public class ServiceException : Exception
{
public int errorCode;
[Preserve(AllMembers = true)]
public ServiceException() { }
[Preserve(AllMembers = true)]
public ServiceException(int errorCode)
{
this.errorCode = errorCode;
}
}
}
- 支持的体系结构 : 出于兼容性原因,选择 all 。
配置完所有内容后,重建项目以确保它成功构建。
为发布模式创建 APK
你已完成为 Release 版配置 Android 项目。下面的教程展示了如何在 Visual Studio 中生成 APK。可以在此处找到 Xamarin 文档的完整教程:
要创建 APK 文件,请在解决方案资源管理器中右键单击 Xamarin.Android 项目,然后选择存档…
这将打开存档管理器并开始存档项目,准备创建 APK 文件。
完成项目归档后,单击“分发…”继续。
Distribute 屏幕将显示两个选项:Ad-hoc 和 Google Play。第一个将创建一个 APK 并将其保存在你的计算机中。第二个将直接在 Google Play 中发布该应用。
建议选择第一个,这样你就可以根据需要在其他设备上测试 APK。
在以下屏幕中,需要 Android 密钥存储区来对 APK 进行签名。如果你已经有一个,可以通过单击导入…来使用它; 如果不这样做,可以通过单击+创建新的 Android 密钥库。
创建一个新的 Android Key Store 屏幕:
要创建 APK,请单击另存为。系统可能会提示你键入密钥存储区密码。
完成后,你可以单击存档屏幕上的打开文件夹以查看生成的 APK 文件。