android - Play 商店中的 Ionic Cordova Build/Manifest 支持设备

标签 android cordova ionic-framework

我正在使用 Ionic Cordova 构建 Android 应用程序。我已经使用 Ionic 的部署说明将应用程序构建并部署到 Play Store。除了我只支持 5674 个设备之外,这工作得很好。不支持许多设备,如 Nexus 5(我用它开发的)。

我假设这与我在下面发布的 config.xml 或 AndroidManifest 有关:

config.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<widget id="xxx" version="0.0.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
  <name>xxx</name>
  <description>
        xxx.
    </description>
  <author email="xxx" href="xxx">
      xxx
    </author>
  <content src="index.html"/>
  <access origin="*"/>
  <allow-navigation href="xxx"/>
  <preference name="webviewbounce" value="false"/>
  <preference name="UIWebViewBounce" value="false"/>
  <preference name="DisallowOverscroll" value="true"/>
  <preference name="android-minSdkVersion" value="16"/>
  <preference name="BackupWebStorage" value="none"/>
  <preference name="SplashScreen" value="screen"/>
  <preference name="SplashScreenDelay" value="3000"/>
  <feature name="StatusBar">
    <param name="ios-package" value="CDVStatusBar" onload="true"/>
  </feature>
  <platform name="android">
    <icon src="resources/android/icon/drawable-ldpi-icon.png" density="ldpi"/>
    <icon src="resources/android/icon/drawable-mdpi-icon.png" density="mdpi"/>
    <icon src="resources/android/icon/drawable-hdpi-icon.png" density="hdpi"/>
    <icon src="resources/android/icon/drawable-xhdpi-icon.png" density="xhdpi"/>
    <icon src="resources/android/icon/drawable-xxhdpi-icon.png" density="xxhdpi"/>
    <icon src="resources/android/icon/drawable-xxxhdpi-icon.png" density="xxxhdpi"/>
    <splash src="resources/android/splash/drawable-land-ldpi-screen.png" density="land-ldpi"/>
    <splash src="resources/android/splash/drawable-land-mdpi-screen.png" density="land-mdpi"/>
    <splash src="resources/android/splash/drawable-land-hdpi-screen.png" density="land-hdpi"/>
    <splash src="resources/android/splash/drawable-land-xhdpi-screen.png" density="land-xhdpi"/>
    <splash src="resources/android/splash/drawable-land-xxhdpi-screen.png" density="land-xxhdpi"/>
    <splash src="resources/android/splash/drawable-land-xxxhdpi-screen.png" density="land-xxxhdpi"/>
    <splash src="resources/android/splash/drawable-port-ldpi-screen.png" density="port-ldpi"/>
    <splash src="resources/android/splash/drawable-port-mdpi-screen.png" density="port-mdpi"/>
    <splash src="resources/android/splash/drawable-port-hdpi-screen.png" density="port-hdpi"/>
    <splash src="resources/android/splash/drawable-port-xhdpi-screen.png" density="port-xhdpi"/>
    <splash src="resources/android/splash/drawable-port-xxhdpi-screen.png" density="port-xxhdpi"/>
    <splash src="resources/android/splash/drawable-port-xxxhdpi-screen.png" density="port-xxxhdpi"/>
  </platform>
  <icon src="resources/android/icon/drawable-xhdpi-icon.png"/>
</widget>

AndroidManifest.xml

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="3" android:versionName="0.0.3" package="xxx" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <compatible-screens>
        <screen android:screenDensity="ldpi" android:screenSize="small" />
        <screen android:screenDensity="mdpi" android:screenSize="small" />
        <screen android:screenDensity="hdpi" android:screenSize="small" />
        <screen android:screenDensity="xhdpi" android:screenSize="small" />
        <screen android:screenDensity="ldpi" android:screenSize="normal" />
        <screen android:screenDensity="mdpi" android:screenSize="normal" />
        <screen android:screenDensity="hdpi" android:screenSize="normal" />
        <screen android:screenDensity="xhdpi" android:screenSize="normal" />
    </compatible-screens>
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <application android:hardwareAccelerated="true" android:icon="@drawable/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.Black.NoTitleBar" 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>
    </application>
    <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" />
</manifest>

有什么想法吗?谢谢。

最佳答案

我想如果你删除 <compatible-screens> 你会发现阻止将修复它的 AndroidManifest.xml。

是你自己添加的还是插件?

原因是 Nexus 5 是 xxhdpi 屏幕,而兼容的屏幕没有。将它们全部添加(也包括 xxxhdpi)或删除整个 block

关于android - Play 商店中的 Ionic Cordova Build/Manifest 支持设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32044008/

相关文章:

ios - Cordova 在 CLI 上构建 iOS 版本失败的代码签名检查

c# - Xamarin 的优点和缺点 Vis a Vis 其他框架

javascript - AngularJS + AngularFire = 如何编辑条目

ionic-framework - (未知 URL): 0 Unknown Error for android and ios build , 的 ionic3 Http 失败响应这适用于 "ionic serve"

android - 将文本(或字符)与用户在 edittext for android 中的输入相结合

java - 如何通知 MediaStore 某些项目已删除?

android添加额外的并以编程方式调用

android - Android Studio 中过时的 Kotlin 运行时警告

javascript - 如何以编程方式关闭 phonegap 通知

javascript - 将对象存储在 JSON 中以输出到 NgxData-Table 中