Android - 构建同一个应用程序的两个版本

时间:2014-01-10 03:16:25

标签: android google-play amazon

我正在开发适用于Google Play和亚马逊商店的应用。和市场有一些区别,例如:下载应用页面的链接。因此,我的apks有点不同。 我不想为每个构建/签名apk替换所有这些。 有没有人有办法解决吗? 谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

如果您创建了两个相同的APK,但使用不同的密钥对其进行了签名,则可以使用一些代码根据密钥签名确定在应用程序中显示的内容。

有人在这里做了类似的事情:Detect if app was downloaded from Android Market

答案 1 :(得分:1)

对于“给予评分选项”的这个特殊问题,

您可以使用条件分支进行相同的构建,以检测设备是否是亚马逊设备。

if (Build.MANUFACTURER.contains("Amazon"){
    // Show amazon store page
} else {
    // Show google page 
}

如果您还在为三星商店进行构建,那么它会变得有点棘手,因为您会想知道您的构建是否已通过三星商店或 Play商店

为此,您将需要2个不同的版本。

或者您可以使用新的API来告诉您安装应用的用户。 (来自@ Aelexe的链接到另一个问题)

http://developer.android.com/reference/android/content/pm/PackageManager.html#getInstallerPackageName%28java.lang.String%29