对 Android TV 和手机的多个 apk 支持
Posted
技术标签:
【中文标题】对 Android TV 和手机的多个 apk 支持【英文标题】:Multiple apk support for Android TV and Phone 【发布时间】:2016-03-27 08:33:11 【问题描述】:我在市场上有一个具有 minSDK 版本 9 的应用程序,并且我还开发了此应用程序的 Android TV 版本具有相同的包名称,但 API 级别是重叠的。
所以,我的问题是; 如何上传 2 个具有相同包名的不同 apk(电视和手机/平板电脑)? android TV 的 APK 只能看到 TV 和 Nexus Player 等。其他 Apk 只能看到手机和平板电脑。
我确实阅读了有关多 APK 支持的所有文档,但当我通过当前可用的应用上传适用于 Android TV 的 APK 时,旧版本无法用于手机和平板电脑(不兼容)。
在我的情况下,两个不同的 APK 具有不同的包名称是不可接受的。
我必须有一个包名,两个不同的 APK,两者都必须可用于他们的兼容设备。
在我的电视应用清单中,使用了这些功能;
<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>
我该怎么办?在这一点上我错过了什么?我需要一个明确的解释或解决方案。
【问题讨论】:
您是否在开发者控制台中从“标准”模式切换到“高级”模式。如果不是,请检查来自开发者来源的this 文档。 @ravidl 谢谢,它是在“标准”模式下,我会在“高级”模式下再试一次。 【参考方案1】:解决方法是切换高级模式,正确使用minSDK版本。
您最新的 APK 应具有最高的 minSDK 版本。
例如,如果您有 2 个不同平台的 apk,并且它们的 minSDK 版本不同,请先上传 minSDK 版本较低的 APK。然后,上传较高的。
现在我有 3 个 APK 在生产中。一切正常。
【讨论】:
【参考方案2】:您需要确保您的两个 apk(电视和手机/平板电脑)的版本代码不相同。也让我们知道,什么对你有用(如果你已经弄明白了)。
【讨论】:
以上是关于对 Android TV 和手机的多个 apk 支持的主要内容,如果未能解决你的问题,请参考以下文章
可以在 Google Play 上为 Android TV 和智能手机发布相同的应用程序
我用android studio创建一个TV项目,打包成apk 后 安装出现如下错误是怎么回事?
如何使一个apk既可以在移动端也可以在android-TV中使用?