【问题标题】:Multiple apks, single listing of app for Google TV and Android Phone/Tablet on Play Store多个 apk,Google TV 和 Android 手机/平板电脑应用的单一列表在 Play 商店
【发布时间】:2012-09-17 21:36:31
【问题描述】:

我有一个 Android 手机/平板电脑 apk,目前在 Play 商店中,并且在其清单文件中有以下设置:

package="com.company.xyz"
android:versionCode="0803010008"
android:versionName="01.00.08" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="8" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

<uses-library
    android:name="com.adobe.flashplayer"
    android:required="true" />

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="false"
    android:xlargeScreens="true" />

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

我为 GoogleTV 上传了另一个 apk,它与之前的 apk 具有相同的包名称 com.company.xyz,并且在其清单文件中具有以下设置:

package="com.company.xyz"
android:versionCode="1203010001"
android:versionName="01.00.01" >

<uses-sdk
    android:minSdkVersion="12"
    android:targetSdkVersion="12" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

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

<uses-feature
    android:name="com.google.android.tv"
    android:required="true" />

<supports-screens
    android:largeScreens="true"/>

<uses-configuration android:reqFiveWayNav="true" />

Google TV apk 从未出现在 GTV 盒子上的 Play 商店中,因此我使用以下设置更新了它的清单,其他一切都保持不变

package="com.company.xyz"
android:versionCode="1203010002"
android:versionName="01.00.02" >

<supports-screens
    android:largeScreens="true"
    android:normalScreens="false"
    android:smallScreens="false"
    android:xlargeScreens="false" /> 

此时,由于 Play 商店错误“错误:新 APK 版本低于以前的 APK 版本”,我无法保存应用程序,即使 GoogleTV APK 的版本代码高于手机/平板电脑版本。有人对此有解决方案吗?

谢谢!

【问题讨论】:

  • 为什么要用这么奇怪的版本代码?它们应该是简单的整数。 1、2、3 等。版本名称是您放置自定义版本命名的位置。您的代码在 SQL 小 uint (65,535) 上是方式,但我不确定谷歌使用什么来存储它。
  • 我使用google在link建议的版本代码方案
  • 已在离线对话中解决。请在此处使用您的解决方案更新问题,否则将其关闭。
  • @Yash,感谢您的链接和更新的解决方案

标签: android google-play google-tv android-market-filtering


【解决方案1】:

这些解决方案是由 Google TV DevRel 团队提出的。

我不小心在 libs 下添加了 armeabi 文件夹。这让 Google TV Play 商店认为该应用使用了 NDK,该应用被过滤掉了。

我必须做的另一个改变是替换

<supports-screens
   android:largeScreens="true"
   android:normalScreens="false"
   android:smallScreens="false"
   android:xlargeScreens="false" /> 

<supports-screens android:largeScreens="true"/>

并创建更新版本的 apk。设置所有支持屏幕属性会使大型设备选择错误的 apk。

之后,我上传并激活1203010003,然后停用旧版本1203010001和1203010002。然后我能够成功保存apk,而不会遇到“错误:新APK版本低于以前的APK版本”

希望这对其他人有所帮助!

【讨论】:

  • 您确定删除 normalscreens、smallscreens 和 xlargescreens 的“false”属性值是个好主意吗?当您上传 apk 并激活/发布它时,您是否真的在“支持的屏幕”部分看到了正确的值?
  • 对不起,我错过了这个问题。那时,我确实在“支持的屏幕”部分看到了正确的值,但在 4 月 15 日 Google Play 商店 v2 更新后,情况不再如此。查看相关问题:link
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-05
相关资源
最近更新 更多