为啥 Chromebook 不支持 Android 我的应用程序?

Posted

技术标签:

【中文标题】为啥 Chromebook 不支持 Android 我的应用程序?【英文标题】:Why Is Android My App "Unsupported" by Chromebooks?为什么 Chromebook 不支持 Android 我的应用程序? 【发布时间】:2017-10-16 04:36:42 【问题描述】:

我知道关于 SO 还有其他类似的问题,但没有一个直接解决这个问题。

我的 androidManifest.xml 中有这个部分:

<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="25" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.location.gps" />

我如何知道其中哪些因素导致 Play 管理中心将 Chromebook 列为不受支持?或者如果它完全是别的东西?

* 更新 *

我的清单看起来像这样,但 Play 管理中心仍然没有将 Chromebook 指示为受支持的设备,所以我不知所措。

<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<application android:hardwareAccelerated="true" android:icon="@mipmap/icon" android:label="@string/app_name" android:supportsRtl="true">
    <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
        <intent-filter android:label="@string/launcher_name">
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <receiver android:name="cordova.plugins.Diagnostic$LocationProviderChangedReceiver">
        <intent-filter>
            <action android:name="android.location.PROVIDERS_CHANGED" />
        </intent-filter>
    </receiver>
    <receiver android:name="cordova.plugins.Diagnostic$NFCStateChangedReceiver">
        <intent-filter>
            <action android:name="android.nfc.action.ADAPTER_STATE_CHANGED" />
        </intent-filter>
    </receiver>
</application>
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="25" />
<uses-feature android:name="android.hardware.location.gps" required="false" />
<uses-feature android:name="android.hardware.touchscreen" required="false" />
<uses-feature android:name="android.hardware.location.network" required="false" />
<uses-feature android:name="android.hardware.wifi" required="false" />

【问题讨论】:

【参考方案1】:

并非所有 Chromebook 都配备触摸屏或 GPS。这些应该是可选的,不是必需的。

试试这个

<uses-feature android:name="android.hardware.touchscreen" required="false" />
<uses-feature android:name="android.hardware.location.gps" required="false" />

您可能需要修改您的代码以说明 GPS 不存在。

【讨论】:

我正在为如何使用 ionic2 / cordova 实现这一点而苦苦挣扎,我尽最大努力导致 Element uses-feature#android.hardware.location.gps duplicated 构建错误。而且我很确定这是由于cordova-plugin-geolocation插件中的声明而发生的。 我使用的是 ionic2,而不是 phonegap,并且我的清单中没有任何内容暗示电话或相机故障。 那么this呢?我回答了你原来的问题,现在由你来使用这个建议。我给了你我能回答的。现在我只是在谷歌上搜索,你也有能力这样做。我从来没有说过你需要使用相机的电话,我只是分享了那个链接作为例子。您将更改您的权限以适应。 别担心,相信我,我已经为此寻找了几天,我当然不希望您为我搜索 Google :-)。我非常感谢您已经提供的帮助。完全没有听起来粗鲁的意思。

以上是关于为啥 Chromebook 不支持 Android 我的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

Chromebook 也可以运行 APK 应用,那为啥不直接使用 Android 系统

通过 Android 应用程序的 Chromebook 规范

如何以编程方式锁定 Chromebook?

ARM Chromebook 上的 Android 开发环境?

谷歌可能为多个chromebook带来Windows 10支持

从 Android 应用程序访问 Chromebook 的本地主机?