十六、分发应用

如果你已经完成了你的应用,你需要找到一种方法来分发它。实现这一目的的主要途径是 Google Play 商店,但如果你能说服你的用户允许从“其他来源”安装应用,也可以使用其他发布渠道我在这里没有给出发行渠道的列表,也没有给出使用 Google Play 商店的详细说明。有太多的选择取决于你的目标市场。此外,这本书并不打算成为应用营销的一般介绍。

你自己的应用商店

现在,设备允许用户从 Google Play 商店之外的来源安装应用,APK 文件可以从任何服务器上呈现,包括你自己的公司服务器。请注意,根据使用的 Android 版本,流程会有所不同。

  • 直到 Android 7 (API 级别 25),在“安全”部分有一个系统范围的设置,允许从 Google Play 以外的其他来源安装应用。

  • 从 Android 8 (API 级别 26)开始,从其他来源安装应用的权限是基于每个应用进行处理的,例如浏览器中的设置。

无论您选择哪种分销渠道,您都必须首先通过构建➤生成签名的 APK 来生成签名的 APK。然后,将其复制到服务器,并确保该文件被分配了 MIME 类型application/vnd.android.package-archive

注意

虽然 Android Studio 会自动将应用的调试版本上传到虚拟设备或通过 USB 连接的设备,但对于虚拟设备,您也可以测试签名的 APK 安装程序。如果您在本地开发机器上运行服务器,在虚拟设备内部使用 IP 10.0.2.2 连接到开发机器。最好先卸载开发构建过程中安装的版本。

然后,您可以使用设备的浏览器下载并安装 APK 文件。

谷歌 Play 商店

尽管这不是对如何使用 Google Play 商店的介绍,但这里有几个关于发行技术方面的附加要点:

  • 如前所述,你必须在你的应用发布到 Google Play 之前给它签名。

  • 在线文档建议在分发应用之前,删除应用内部的所有日志记录语句。作为破坏性较小的替代方案,遵循第 15 章的说明,创建一个自定义记录器。

  • 如果你的应用使用数据库,当数据库模式改变时提供更新机制。见SQLiteOpenHelper类。如果你忘记了这一点,从一个版本到另一个版本更新应用和升级数据库会变得非常麻烦。

  • 可以为不同的设备分发不同的 apk。这一功能在本书中被忽略了,因为如今在现代设备中,一个应用的大小不再起重要作用,你通常可以将所有内容放入一个 APK 文件中。如果您仍然想提供多个 apk,请查阅在线文档。使用您最喜欢的搜索引擎搜索 android multiple apk 或类似产品。

  • 如果你在一个真实的设备上测试你的应用,如果你在你的设备上使用一个不同于你用来分发应用的谷歌账户,事情会变得简单一些。否则谷歌不会让你使用 Play store 安装你的应用。尽早这样做,因为以后更改设备的 Google 帐户可能会很复杂。

  • 本地化所有显示给用户的文本!在本书中,出于简洁的原因,没有使用本地化,但是您绝对应该为您的应用使用本地化。Android Studio 附带的 LINT checker 有助于发现本地化缺陷,使用模拟器附带的自定义区域设置切换器也可以让您进行检查。

  • 虽然只为智能手机外形(屏幕尺寸、分辨率)开发有点诱人,但你应该检查你的设计是否有其他外形。各种模拟器可以帮助你做到这一点。你至少应该在平板电脑上测试你的应用。