0

私は私の質問をよりよく説明しようとします。ターゲット顧客向けのビジネスアプリケーションを開発しています。このアプリケーションには、お客様に固有の機能がいくつかありますが、コアは他のお客様に再利用する必要があります。たとえば、ログインアクティビティはすべての顧客で同じですが、顧客AにはアクティビティAが表示され、顧客BにはアクティビティBが表示されるなど、表示するアプリのどの部分がログから返されたデータから管理されます。の。

プロジェクトをより適切に維持するために、プロジェクトのみを作成したいのですが、ここで私の質問です。一般的なアクティビティとカスタムアクティビティを使用して、顧客Aのアプリケーションを作成します。このアプリケーションをパッケージ名com.mybigapplicationとapk名mybigapplication.apkでPlayストアに配置しました。

顧客ダウンロードインストールして使用します。

これで顧客Bができました。同じプロジェクトを実行し、顧客Bのカスタムアクティビティを追加して、アプリをPlayストアに配置したいと思います。

ここで私の問題は、同じパッケージとapk名でアプリを配置した場合、顧客Aが理由なくアプリを更新することです...

どのようにできるのか ?この問題を管理する方法はありますか?

私はまだ何も店に入れていないことに注意してください。

よろしくお願いします

4

2 に答える 2

0

簡単な解決策は、異なるパッケージ名で 2 つの別々のプロジェクトを作成することです。

次に、プロジェクト A のディレクトリからプロジェクト B にすべてのソース ファイルを定期的にコピーするだけのシェル スクリプトまたは何かを作成します。

構成などを台無しにする可能性のあるものをコピーしないように注意する必要があります。手動で調整する必要があります。たとえば、マニフェスト ファイルを直接コピーすることはできません。プロジェクト A のアクティビティやサービスなども、プロジェクト B のマニフェストに手動で追加する必要があります。

もう 1 つのオプションは、共有コードを使用してAndroid ライブラリ プロジェクトを作成し、それを両方のプロジェクトに含めることです。これについてのチュートリアルがあります

于 2013-02-23T10:03:52.617 に答える
0

その方法は、顧客 A と顧客 B の専用アプリが依存する共通コードを Android ライブラリ プロジェクトに配置することです。したがって、Eclipse には 3 つのプロジェクトがあります。

  • 共通 (ライブラリ)
  • 顧客A (Android)
  • 顧客B (Android)

Android アプリケーションは、 のpackage属性によって一意に識別されますAndroidManifest.xml。2 つの Android プロジェクトは、マニフェストに異なる属性を含めることができます (実際にはそうする必要があります) package。これは、一方のアプリをアップグレードしても他方に影響を与えない方法です。

ライブラリ プロジェクトの詳細については、次のドキュメントを参照してください: http://developer.android.com/tools/projects/index.html#LibraryProjects

この記事も役立つ場合があります: http://blog.donnfelker.com/2010/08/05/howto-android-full-and-lite-versions/

于 2013-02-23T10:04:44.560 に答える