Android 兼容 Appcelerator 5.5.1 的设备

Android compatible devices with Appcelerator 5.5.1

我刚刚在 Play 商店发布了我的应用更新。 这个消息基本上来自我从SDK3.5.2更新到SDK5.5.1的Appcelerator。 我的 manifest.xml 个文件包含这个:

<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="23"/>

(3 种屏幕尺寸:小、大、超大) 我以前的版本与开发者控制台中列出的每个设备兼容(我有 android:targetSdkVersion="16"),但现在我错过了相当多的设备,我不知道为什么。

似乎 Android 4.4 设备(可能还有以前的版本)不再兼容。

我应该注意什么来修复它?

这可能不是版本问题,而是您正在使用的功能问题。最简单的检查方法是为 android 模拟器或设备编译您的应用程序,然后检查 build/android 文件夹中的 AndroidManifest.xml 文件。当您查看内部时,您会看到您的应用需要哪些 android 权限和功能。

例如,如果您将代码放入应用中的 'place a phone call',appcelerator 将需要启用 android.hardware.telephony 功能。因此,市场上的所有平板电脑都将被排除在外,因为它们没有电话功能。您可以在此处查看 android 中可用的功能列表:https://developer.android.com/guide/topics/manifest/uses-feature-element.html

比较您的清单文件中的列表,看看是什么导致设备被删除。例如,我使用一个条形码读取模块,在我的清单中自动启用自动对焦和闪光灯。如果我发布,许多平板电脑又被排除在外,因为它们没有闪存,所以我必须手动编辑我的 AndroidManifest 文件并将行从:

更改为
<uses-feature android:name="android.hardware.camera.autofocus"/>
<uses-feature android:name="android.hardware.camera.flash"/>

<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera.flash" android:required="false"/>

获得固定清单文件后,您可以通过将清单复制到 platform/android 文件夹来手动强制 Appcelerator 使用您的清单。意识到每次编译发布到 Play 商店时都需要这样做。