Android TV和手机的多APK支持

7

我在市场上有一个应用程序,最低支持版本为9,我还开发了一个Android TV版本的该应用程序使用相同的包名,但API级别重叠。

所以,我的问题是:如何上传两个不同的apk(电视和手机/平板电脑),并使用相同的包名? Android TV的APK只应该在TV和Nexus Player等设备上可见。其他APK必须同时适用于手机和平板电脑。

我已经阅读了关于多个APK支持的所有文档,但当我将Android TV的APK上传到当前可用的应用程序中时,旧版本对于手机和平板电脑不再兼容(不可用)。

在我的情况下,不接受具有不同包名称的两个不同APK。

我必须拥有单个包名称、两个不同的APK,并且它们都必须适用于其兼容设备。

在我的TV应用程序清单中,使用了以下功能:

<uses-feature
    android:name="android.hardware.microphone"
    android:required="false" />

<uses-feature
    android:name="android.hardware.touchscreen"
    android:required="false" />

<uses-feature
    android:name="android.software.leanback"
    android:required="true" />

<activity
    android:name="com.mydomain.android.ui.ActivityYYY"
    android:icon="@drawable/my_banner"
    android:label="@string/app_name"
    android:logo="@drawable/my_tv_banner"
    android:screenOrientation="landscape">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>

</activity>

我的手机/平板应用程序没有使用此功能,正常的启动器如下所示

<activity
    android:name="com.mydomain.android.ActivityXXX"
    android:screenOrientation="portrait">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>

</activity>

我该怎么办?这一步我错过了什么?我需要一个清晰的解释或解决方案。


2
你是否已经从开发者控制台的“标准”模式切换到“高级”模式?如果没有,请查看来自开发者源的此文档 - ravidl
@ravidl 谢谢,它是在“标准”模式下,我会尝试在“高级”模式下再次尝试。 - Oğuzhan Döngül
2个回答

3
解决方案是切换高级模式并正确使用minSDK版本。
您的最新APK应该具有最高的minSDK版本。
例如,如果您有两个不同平台的APK,并且它们的minSDK版本不同,则首先上传具有较低minSDK版本的APK。然后,上传较高的版本。
现在我生产中有3个APK。全部正常运行。

1
你需要确保电视和移动/平板电脑的apk版本代码不相同。同时告诉我们,如果你已经找到了解决方法,请分享。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接