将现有Android应用移植到Fire OS
根据应用代码,可能需要对代码库进行一些更新,以便您的Android应用能够成功在Fire OS设备上运行。本页讨论应用必须满足的要求,以及将Fire OS应用提交到亚马逊应用商店时的移植建议。
移植流程概述
要使现有的Android应用与Fire OS兼容并将其移植到亚马逊应用商店,请遵照以下流程。
- 确定您的应用是否使用了Fire OS不支持的任何API、服务和功能,并迁移到受支持的同等版本。
- 根据您计划支持的Fire OS设备的要求,更新最低API级别。
- 从应用中删除所有不支持的功能。
- 重新编译和测试您的应用。
- 向亚马逊应用商店提交应用。
有关这些步骤的更多详细信息,请查看以下各部分。
步骤1:确定是否不支持相关API、服务和功能。
如果您在Google Play上已有一款Android应用,则该应用可能会使用Google Play服务,而Fire OS不支持此类服务。如果您的应用使用了Fire OS不支持的任何API、服务或功能,请更新代码,以便使用亚马逊支持的同等服务和功能。为帮助您完成此流程,下一部分针对您的应用可能会使用的API、服务和功能,提供了亚马逊支持的解决方案。
从Google Play移植时可使用的解决方案
如果您的Android应用需要Google Play服务或是适用于Android手机的功能,请在下表中查找适用于Fire OS的替代API、服务或功能。
API、服务或功能 | 操作 |
---|---|
Google Play应用内结算 | 使用亚马逊应用商店计费兼容性SDK |
Firebase Cloud Messaging | 使用 A3L Messaging SDK
也可以根据应用的需求,按照Cloud Messaging指导流程来确定解决方案。 |
Google Sign-In | 使用A3L身份验证SDK
也可以根据应用的需求,按照身份验证指导流程来确定解决方案。 |
Google Location Services | 使用 A3L Location SDK |
Google云端硬盘 | 使用A3L身份验证SDK并与Google API集成 |
没有移动数据计划的平板电脑上的GPS定位 | 根据应用的需求,按照位置指导流程来确定解决方案。 |
任何电话功能 | 对您的应用进行编码,以便优雅降级。 |
设备方向 | 请参阅设备方向。 |
意图 | 请参阅受支持的Android意图 |
屏幕尺寸和布局 | 请参阅屏幕布局和分辨率 |
以粗体列出的项目是亚马逊应用商店提供的SDK,专为移植现有Android应用而构建。
Firebase和替代方案
如果您在应用中使用Firebase库,请先确定亚马逊Fire设备是否支持该库。有些Firebase库与Fire设备兼容,您可以在移植应用时继续使用它们。如果Firebase库不兼容,您可以使用替代解决方案,或者在Fire设备上禁用该库。
请按照以下步骤确定Firebase库是否可以在Fire设备上运行。
-
确定库是否需要Google Play服务。为此,请访问Firebase文档并查看“不需要的Google Play服务”表。如果库不需要Google Play服务,则可以继续在Fire设备上使用该库。
注意: 如果您的应用使用FirebaseUI和Firebase身份验证,则它可能无法在Fire OS设备上运行。您可以使用A3L身份验证作为替代方案。要获得应用的详细解决方案,请使用身份验证指导流程。 -
确定库是否列在需要或推荐使用Google Play服务部分中。
-
如果该库被列入建议的库,则可能部分兼容该库。
目前,AdMob和Analytics库被列入建议的库。这意味着,尽管大多数功能应该可以正常运行,但某些自动见解仅在安装了Google Play服务的设备上可用。
-
如果库需要Google Play服务,请使用替代库或在Fire设备上禁用该库。
-
如果您决定使用替代库进行探索,则下表可以引导您找到与Fire设备兼容的合适替代方案。
不支持的Firebase功能 | 描述 | 兼容的替代方案 |
---|---|---|
App Check Play Integrity提供程序 | 防止未经授权的客户端访问应用的API资源。 | 自定义App Check提供程序 |
App Check SafetyNet提供程序 | 保护应用免受安全威胁。此库已弃用。 | 自定义App Check提供程序 |
App Indexing | 为要在Google Search应用中显示的内容编制索引。不再建议使用此库。 | 根据您的需求使用Android应用链接或AppSearch。 |
云消息传递 | 向客户端应用发送通知消息。 | A3L Messaging |
Dynamic Links | 根据用户点击链接的环境确定链接的打开位置。 | Branch或GetSocial |
Firebase Machine Learning (ML) | 移动应用的设备端机器学习。 | AWS上的机器学习 - 使用符合您需求的解决方案。 |
Firebase ML Custom Model | 创建自定义ML模型 | AWS上的机器学习 - 使用符合您需求的解决方案。 |
步骤2:更新最低API级别
亚马逊建议将最低API级别设置为10,以确保与所有Fire平板电脑兼容。有关Fire平板电脑Android OS版本的信息,请参阅Fire平板电脑设备规格。
如果您的应用使用了在以下级别中引入的方法:
- API级别11到15 – 必须修改实施,避免在Kindle Fire(第1代)上调用这些方法。
- API级别16或17 – 必须修改实施,避免在Kindle Fire(第1代)和Kindle Fire(第2代)平板电脑上调用这些方法。
- API级别18或更高 – 必须修改实施,避免在Kindle Fire(第3代)上调用这些方法。
有关更多信息,请参阅Android培训指南中支持不同的平台版本中的在运行时检查系统版本。
有关在应用中指定API级别的信息,请参阅Android培训指南中的指定最低和目标API级别。
步骤3:移除不支持的功能
向亚马逊应用商店提交应用之前,请务必移除所有不支持的功能。亚马逊应用商店不支持以下功能:
- 主题
- 壁纸
- 屏幕保护程序
- 自定义或第三方屏幕键盘(改为使用默认屏幕键盘)
- 操作用户界面的主屏幕小部件
- disable_keyguard权限
- 锁屏自定义设置
步骤4:重新编译和测试您的应用
更新应用代码后,可以重新编译和测试您的应用。向亚马逊应用商店提交应用之前,请务必对应用进行全面测试。要查看测试标准以及建议的测试案例,请参阅亚马逊应用商店应用测试标准。
步骤5:提交应用
测试您的应用并确认其符合亚马逊应用商店相关准则之后,可以向亚马逊应用商店提交应用。详细说明请参阅向亚马逊应用商店提交应用。
兼容Fire OS的SDK和库
如需查看兼容Fire OS的Android SDK列表,请参阅兼容的Android SDK。
如需查看不需要Google Play服务且可在Fire OS上使用的Firebase库列表,请参阅Android开发者文档中的Firebase Android SDK对Google Play服务的依赖。
Last updated: 2024年6月27日