有料版と無料版の2つのバージョンのAndroidアプリが表示されることがよくあります。また、2つのバージョンをリリースしたいアプリを開発しています。これを行うための最良の方法は何ですか?2つのプロジェクトを作成し、その間にファイルをコピーすることは、私の考えでは最善の方法ではないようです。
5 に答える
公式の開発ガイドが提案したように、LibraryProjectを使用してください。
複数のAndroidプロジェクトに共通のソースコードとリソースがある場合は、それらをライブラリプロジェクトに移動して、アプリケーションやバージョン間での保守を容易にすることができます。ライブラリプロジェクトを利用できる一般的なシナリオは次のとおりです。
同じコンポーネントの一部を使用する複数の関連アプリケーションを開発している場合は、冗長コンポーネントをそれぞれのアプリケーションプロジェクトから移動し、ライブラリプロジェクトに同じコンポーネントの単一の再利用可能なセットを作成します。
無料版と有料版の両方に存在するアプリケーションを作成している場合。両方のバージョンに共通するアプリケーションの部分をライブラリプロジェクトに移動します。パッケージ名が異なる2つの依存プロジェクトは、ライブラリプロジェクトを参照し、2つのアプリケーションバージョンの違いのみを提供します。
更新: Android Studioはまさにこれを実現できるビルドフレーバーをサポートしているため、このメソッドはEclipseでのコンパイルにのみ適しています。
@yorkwと@Nateの答えはどちらも良いですが、これは単純なために私が使用する方法です。記事から:
- com.example.myapp –Androidプロジェクトライブラリ-これは私のアプリ全体が存在する場所です。FULLバージョンとLITEバージョンのすべての機能。
- com.example.myapp.full -Androidアプリケーションプロジェクト-これは、フルバージョンにのみ必要なグラフィックとリソースを含むシェルです。基本的には超軽量のシェルです。
- com.example.myapp.lite -Androidアプリケーションプロジェクト-これは、liteバージョンに必要なグラフィックとリソースのみを含む別のシェルです。繰り返しになりますが、その超軽量シェル。
IS_PRO
また、アプリの起動時に設定されるライブラリクラスに静的変数を保持します。これは、通知やアラートなど(ユーザーにプロへのアップグレードを求めるなど)にのみ使用する必要があります。
ただし、この方法には1つの欠点があります。ライブラリまたはそのリソースが変更されるたびに、クリーンアップして再構築する必要があります。また、プロジェクトとライブラリ間でのリソースの共有に関するこの投稿も必ずお読みください。
これを行うための小さなブログチュートリアルがあります。
基本的に、ライブラリプロジェクトを使用して、2つのバージョン間でコードの再利用を実現する、同じアプリのフルバージョンとライトバージョンを構築する方法。
私はこれを開発中のフォークと呼んでいます。新しいアプリ開発を開始しますが、共通のファイルの場所から共通のコードを取得します。フォークされたコードを無料で編集し、そのコードを完全に分離するように最善を尽くします。
私は実際にiPhoneベースのアプリでこれを行いました。無料バージョンと2つの異なる有料バージョン(シングルプレイヤーのみとマルチプレイヤー)があります。Androidでも同じようにします。
たとえば、Gitを使用できます。
ブランチ「app_with_ads」を作成すると、マスターが「有料」バージョンになります。マスターで開発し、定期的に別のマスターにマージします。
公開する前に、おそらくアプリパッケージ、またはAndroid\Manifest.xmlの他の何かを変更する必要があります