0

我想在 Play 商店和亚马逊市场上提供我的 Android 4+ 应用程序。我在这里发现了几个关于如何将两个商店集成到同一个 APK 中的问题。这似乎很困难,因为不可靠为什么要检查应用程序是从商店 A 还是 B 下载的,但是如果它是从 B 加载的,则所有指向商店的链接、评论等都必须指向 B 等...

因此,同一个 APK 中的两个商店不是我想要的。我想创建两个不同的 APK,每个商店一个。额外的好处:APK 会更小,因为每个只会包含它真正需要的库。如何才能做到这一点?

在 Xcode/iOS 中,我将简单地创建两个不同的目标,每个目标都有自己的一组库和配置。如何在 Eclipse 中做到这一点?只有一个 AppManifest 并且“文件/导出/导出 Android 应用程序”选项始终使用相同的配置来创建相同的 APK。

如何从同一个 Eclipse 项目创建两个不同的应用程序版本?

4

1 回答 1

1

不是您要寻找的答案,而是现实。

Eclipse + ADT 不是构建应用程序的一种非常灵活的方式,并且要执行您的要求,您将需要相当多的 ANT 脚本(我之前在银行应用程序中看到它,它为每个应用程序构建不同的 .apks品牌)。但这可能比将所有内容构建到一个 apk 中更复杂。

另一方面,如果您愿意将项目迁移到 AndroidStudio + Gradle,这是一种更灵活的软件构建方法,并且它们具有“易于使用”的风格概念,这里是构建的片段。我工作的应用程序的gradle:

productFlavors {
    phone {
        resConfigs "xhdpi", "xxhdpi", "xxxhdpi", "nodpi"
        versionCode 100000 + project.ver.versionCode
    }
    phone_low_end {
        resConfigs "ldpi", "mdpi", "hdpi", "nodpi"
        versionCode 200000 + project.ver.versionCode
    }
    tablet {
        versionCode 300000 + project.ver.versionCode
    }
    unified {
        versionCode project.ver.versionCode
    }
}
sourceSets{
    unified{
        res {
            srcDir 'src/tablet/res'
        }
        assets{
            srcDirs 'src/phone/assets', 'src/tablet/assets'
        }

    }
}

并且通过这个相当小的配置,项目正在使用不同的 versionCode 和不同的资产构建。对于您的项目,您可以像这样轻松集成:

sourceSets{
    googleplay{
        src {
            srcDir 'src/googleplay/java/'
        }
    }
    amazon{
        src {
            srcDir 'src/amazon/java/'
        }
    }
}
于 2014-09-02T08:49:56.973 回答