支持Android电视和手机的java多apk
我在市场上有一个单一的应用程序,它有minSDK版本9,我还开发了这个应用程序的Android TV版本,具有相同的包名,但API级别重叠
所以我的问题是,如何上载具有相同软件包名称的2个不同apk(电视和手机/平板电脑)Android TV的APK应仅用于TV和Nexus Player等。其他APK必须同时用于手机和平板电脑
我确实阅读了所有关于多个APK支持的文档,但当我通过当前可用的应用程序上传Android TV的APK时,手机和平板电脑无法使用旧版本(不兼容)强>
在我的情况下,两个不同的APK和不同的包名是不可接受的
我必须有一个包名,两个不同的APK,两个APK都必须可用于他们的兼容设备强>
在我的电视应用程序清单中,使用了以下功能
<uses-feature
安卓:name="安卓.hardware.microphone"
安卓:required="false" />
<uses-feature
安卓:name="安卓.hardware.touchscreen"
安卓:required="false" />
<uses-feature
安卓:name="安卓.software.leanback"
安卓:required="true" />
<activity
安卓:name="com.mydomain.安卓.ui.ActivityYYY"
安卓:icon="@drawable/my_banner"
安卓:label="@string/app_name"
安卓:logo="@drawable/my_tv_banner"
安卓:screenOrientation="landscape">
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
我的手机/平板电脑应用程序未使用该功能,具有正常的启动器,如下图所示
<activity
安卓:name="com.mydomain.安卓.ActivityXXX"
安卓:screenOrientation="portrait">
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.LAUNCHER" />
</intent-filter>
</activity>
我该怎么办?在这一点上我错过了什么?我需要一个清楚的解释或解决方案
# 1 楼答案
您需要确保两个APK(电视和手机/平板电脑)的版本代码不相同。同时让我们知道,什么对你有效(以防你已经找到答案)
# 2 楼答案
解决方案是切换高级模式并正确使用minSDK版本
你最新的APK应该有最高的minSDK版本
例如,如果您有两个不同平台的apk,并且它们的minSDK版本不同,请首先上载具有较低minSDK版本的apk。然后,上传较高的一个
现在我有3个APK在生产中。一切正常