如何在Android Studio中为amazon应用商店和google play商店构建apk,并提供相应的应用内购买



我想从Android Studio中创建的同一项目构建谷歌play商店和亚马逊应用商店。由于应用内购买API不同,我将在为目标商店创建APK之前进行一些调整。当我从一个目标切换到另一个目标时,我如何节省时间?一些手动过程是可以的。下面是gradle为google app store编写的源码集。

sourceSets {
    main {
        manifest.srcFile 'app/src/main/AndroidManifest.xml'
        java.srcDirs = ['app/src/main/java']
        resources.srcDirs = ['app/src']
        aidl.srcDirs = ['app/src/main/aidl']
        res.srcDirs = ['app/src/main/res']
        assets.srcDirs = ['app/src/assets']
    }

声明两个gradle flavour,例如googleplayamazon

   productFlavors {
        googleplay {
            applicationId = '...'
        }
        amazon {
            applicationId = '...'
        }
   }
Gradle库依赖关系对于每个flavour应该是不同的。
googleplayImplementation "...gp_library..."
amazonImplementation "...amazon_dependency..."

这样存储特定的构建将不会包含另一个存储依赖类,资源等。

然后声明接口,例如StoreProvider,这将是所有存储特定api调用的入口点。在googleplay风味源集提供StoreProvider的实现,它将调用GooglePlay商店方法。在amazon版本中提供StoreProvider的实现,它将调用Amazon store方法。在应用程序的任何地方使用链接到StoreProvider接口。如果你以这种方式组织应用,你的应用将不知道它使用的是哪个商店。此外,将来添加其他商店支持也很容易。

最新更新