我开发了一个使用camera2 API的Android应用程序。我在调试时能够在自己的物理设备上运行此应用程序,但是当我尝试将应用程序发布到Google Play商店时,它说我的设备不兼容 - 事实上,没有任何设备兼容我的应用。
我一直与谷歌支持联系,他们说“你的应用程序与大多数设备不兼容,因为你的应用程序清单中存在冲突,因为以下缺少设备功能:android.hardware.camera2。”
我注意到我的gradle文件中的min-sdk版本设置为15
所以我的问题是:如果我将min-sdk版本更改为21,我的应用程序是否会与我的设备兼容,或者我是否需要重写整个代码以使用弃用的相机API?
< / p>
提前致谢。
*编辑:
这是我的Android清单:
<?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>
答案 0 :(得分:4)
没有“android.hardware.camera2”这样的功能,所以如果你的应用程序需要它可以安装在设备上,你将无法在任何地方安装,因为任何设备都无法报告该功能。
运行Android 5.0或更高版本的所有设备上都存在camera2 API,它没有任何功能。删除要素线,如果您不想处理太旧而无法支持camera2的设备,请使用min-sdk行。