0

私たちのアプリケーションには無料版と有料版があります。また、ブランドバージョンも作成しています。つまり、アプリケーションは 2 つの次元で異なります。

次の 4 つのバージョンがあります。

  • アプリ、ナイキ編。自由
  • APP、ナイキ編。支払った
  • アプリ、アディダス編。支払った
  • アプリ、アディダス編。自由

私の解決策は、有料と無料の 2 つのビルド タイプを用意することです。

  buildTypes {
        paid {
            packageNameSuffix ".paid"
        }

        free {
            packageNameSuffix ".free"
        }
    }

2 つのビルド フレーバー:

productFlavors{
    nike{
        packageName "com.example.theapp.nike"
    }

    adidas{
        packageName "com.example.theapp.adidas"
    }

}

レガシー上の理由から、アプリの亜種の 1 つには free-suffix がありませんが、引き続き無料バージョンとして処理されます。私が望むのは、buildedTypes ブロックで packageNameSuffix を設定するときにビルド フレーバーを取得できるようにすることです。疑似コードでは、次のようなものが必要です。

 buildTypes {
        free {
            if( buildFlavor != "nike"){
                packageNameSuffix ".free"
            }
        }
    }

出来ますか?

4

1 に答える 1

2

はい。可能です。これを使用するには、4 つのプロジェクトを作成し、各プロジェクトに App1/App2 の無料/有料バージョンであることを示す単一のクラス ファイルを含むパッケージと、4 つのアプリケーションすべてのコンテンツを含むライブラリ プロジェクトを作成します。

于 2013-06-26T09:55:37.300 に答える