如何使用相应的应用内购买API在Android Studio中为amazon应用商店和google play商店构建apk

如何使用相应的应用内购买API在Android Studio中为amazon应用商店和google play商店构建apk,android,google-play,amazon,Android,Google Play,Amazon,我想从Android Studio中创建的同一个项目为Google play store和Amazon app store进行构建。由于应用内购买API不同,我将在为目标商店创建APK之前进行一些调整。如何在从一个目标切换到另一个目标时节省时间。一些手动过程是可以的。以下是gradle为谷歌应用商店设置的源代码 sourceSets { main { manifest.srcFile 'app/src/main/AndroidManifest.xml' j

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

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
flavor
s,例如
googleplay
amazon

   productFlavors {
        googleplay {
            applicationId = '...'
        }
        amazon {
            applicationId = '...'
        }
   }
Gradle库的依赖项对于每个
风格都应该是不同的

googleplayImplementation "...gp_library..."
amazonImplementation "...amazon_dependency..."
这样,特定于存储的构建将不包含其他存储依赖项类、资源等

然后声明接口,例如
StoreProvider
,它将成为所有特定于商店的api调用的输入点。在
googleplay
flavor源集中,提供了
StoreProvider
的实现,它将调用googleplay存储方法。在
amazon
flavor中提供了
StoreProvider
的实现,它将调用amazon商店方法。在应用程序中的任何地方使用指向
StoreProvider
界面的链接。若你们以这种方式组织应用程序,你们的应用程序将不知道它使用什么商店。此外,在将来添加其他商店支持也很容易