2014-09-02 123 views
0

我想在Play商店和亚马逊市场上提供我的Android 4+应用程序。我在这里发现了几个关于如何在同一个APK中集成两个商店的问题。这似乎相当困难,因为没有可靠的为什么要检查应用程序是否从商店A或B下载,但是如果从B加载所有到商店的链接,评论等都必须指向B等...如何从同一个Eclipse项目创建两个不同的应用程序(Play Store/Amazon Store)?

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

在Xcode/iOS中,我只需创建两个不同的目标,每个目标都有自己的一套库和配置。这怎么可以在Eclipse中完成?只有一个AppManifest,并且“文件/导出/导出Android应用程序”选项始终使用相同的配置来创建相同的APK。

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

回答

1

不是你正在寻找的答案,但它是现实。

Eclipse + ADT并不是一种非常灵活的构建应用程序的方法,并且要做你要求的东西需要相当大量的ANT脚本(我之前在一个银行应用程序中看到它构建了不同的.apks为它的每个品牌)。但它可能比构建一个apk文件更复杂。另一方面,如果您愿意将您的项目迁移到AndroidStudio + Gradle,这是一种更灵活的软件构建方法,并且它们具有“易于使用”的风味概念,这里是一个片段该应用程序的的build.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/' 
     } 
    } 
} 
相关问题