java - Android TV 和手机的多个 apk 支持

标签 java android apk android-manifest android-tv

我在市场上有一个具有 minSDK 版本 9 的应用程序,我还开发了该应用程序的 Android TV 版本具有相同的程序包名称,但 API 级别是重叠的。

所以,我的问题是; 我如何上传 2 个具有相同包名的不同 apk(电视和手机/平板电脑)?Android TV 的 APK 只能在电视和 Nexus Player 等上看到。其他 Apk 只能在手机上看到和平板电脑。

我确实阅读了所有关于多个 APK 支持的文档,但是当我通过我当前可用的应用程序上传适用于 Android TV 的 APK 时,手机和平板电脑无法使用(不兼容)旧版本。

在我的情况下,两个不同的 APK 和不同的包名称是 Not Acceptable 。

我必须有一个包名,两个不同的 APK,两者都必须适用于他们的兼容设备。

在我的电视应用 list 中,使用了这些功能;

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

我该怎么办?此时我错过了什么?我需要一个明确的解释或解决方案。

最佳答案

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

您最新的 APK 应具有最高的 minSDK 版本。

例如,如果您有2个不同平台的apk,它们的minSDK版本不同,请先上传minSDK版本较低的APK。然后,上传更高的。

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

关于java - Android TV 和手机的多个 apk 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34392781/

相关文章:

java - 在 HandlerInterceptor 中访问请求范围的 bean

java - 无法重启线程

android - 在android studio中创建新项目时出错

java - 只取 ".jpg"(Android)

xml-parsing - 如何反编译Android Studio生成的Apk文件

java - android:- 如何更改 recyclerview 列表项的语言?

java - 所需的请求正文内容缺失 : org. springframework.web.method.HandlerMethod$HandlerMethodParameter

android - 安卓中的 map View

android - fragment 作为内部类

android - 无法将 APK 安装到设备