我开发了一个使用camera2 API 的android 应用程序。调试时,我可以在自己的物理设备上运行此应用程序,但是当我尝试将应用程序发布到 Google Play 商店时,它说我的设备不兼容 - 事实上,没有任何设备与此兼容我的应用程序。
我一直在与谷歌支持联系,他们说“由于缺少以下设备功能:android.hardware.camera2,您的应用程序 list 中存在冲突,因此您的应用程序与大多数设备不兼容。”
我注意到我的 gradle 文件中的 min-sdk 版本设置为 15。
所以我的问题是:如果我将 min-sdk 版本更改为 21,我的应用程序是否会与我的设备兼容,或者我是否需要重写我的整个代码以使用已弃用的相机 API?
提前致谢。
*编辑:
这是我的安卓 list :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="...">
<uses-feature
android:name="android.hardware.camera2"
android:required="true"/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:name=".app.AppController"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="barcode"/>
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".ResultsActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait">
</activity>
<activity
android:name=".QRScanner"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
最佳答案
没有像“android.hardware.camera2”这样的功能,所以如果你要求你的应用程序可以安装在设备上,你将无法安装在任何地方,因为任何地方的设备都没有报告该功能。
camera2 API 存在于所有运行 Android 5.0 或更高版本的设备上,它没有功能。去掉 feature 线,如果不想处理太旧而无法支持 camera2 的设备,可以使用 min-sdk 线。
关于android - Camera2 API 与 Google Play 商店的兼容性问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44996475/