有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

支持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>

我该怎么办?在这一点上我错过了什么?我需要一个清楚的解释或解决方案


共 (2) 个答案

  1. # 1 楼答案

    您需要确保两个APK(电视和手机/平板电脑)的版本代码不相同。同时让我们知道,什么对你有效(以防你已经找到答案)

  2. # 2 楼答案

    解决方案是切换高级模式并正确使用minSDK版本

    你最新的APK应该有最高的minSDK版本

    例如,如果您有两个不同平台的apk,并且它们的minSDK版本不同,请首先上载具有较低minSDK版本的apk。然后,上传较高的一个

    现在我有3个APK在生产中。一切正常