android - 适用于某些智能手机的 Google Play 隐形应用
问题描述
我是 Android 开发新手,遇到了一个奇怪的问题:我在 google play 上发布了我的应用程序,最低 api 级别为 18(android 4.4)。我用许多 android 版本测试了我的应用程序,并且除了一台设备外运行良好。运行 android 4.5.5 的中国智能手机 (cubot P9) 在 google play 中根本看不到该应用程序。尽管 android 版本应该兼容,但 Play 商店会将应用程序标记为不兼容。
我不敢相信手机报告假的安卓版本?谁能给我一个解释?
清单文件:...
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<application
android:name=".Global"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:configChanges="orientation|screenSize|keyboardHidden"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<service android:name=".FirebaseIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT" />
</intent-filter>
</service>
<service
android:name=".GPS_Service"
android:process=":myGPS_service" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="mynotificationchannel" />
<activity android:name=".VisualizzaImmagine"></activity>
<activity android:name=".ShowInNewActivity"></activity>
</application>
...
解决方案
我建议仔细检查清单中声明的版本,例如我没有android:minSdkVersion
在附加的清单中找到 a 。
还要修改手机功能,也许您的应用程序需要某些功能,例如屏幕密度或设备上不可用的特定硬件。
此外,如果您可以访问真实设备,您可以开发一个简单的应用程序来记录/显示 Android 操作系统版本:
Log.v("OS Version",String.valueOf(android.os.Build.VERSION.SDK_INT));
并检查你的应用程序是否真的支持它,你也可以从这个表中验证: https ://developer.android.com/reference/android/os/Build.VERSION_CODES.html
推荐阅读
- java - 使用 JDBC 优化对 SQLite 数据库的插入
- php - 在 PHP 中执行 json_decode 后,我似乎无法访问 JSON 数据
- c - 在 typdef 结构中初始化动态长度字符数组
- javascript - 如何让 Vue 出现在我的 VSCode 智能而不是 VTTCue 上
- sqlite - 触发器创建期间的 SQLite 语法错误
- django - 如何在 django 模板语法中反转 url
- java - 满足条件时在Java中过滤
- html - Github:找不到帖子但打开 index.html 的页面
- javascript - 为什么 Service Worker 不能在 Chrome 中工作?
- python - 如何在 Python 中使用 str.split() 过滤掉一行和一列