0

問題の定義:かなり大きなアプリがあり、それらはすべて互いに独立しているような複数のユースケースがあります。たとえば、独立したアプリであるa1、a2、a3、a4モジュール、またはメインアプリ「A」のユースケースがあるとします。独立したa1、a2、a3、a4はすべて購入可能なアプリであり、ユーザーはPlayストアではなく、当社のWebサイトにアクセスし、当社のWebサイトで料金を支払うことでa1またはa2をアクティブ化します。

つまり、基本的にアプリ「A」はPlayストアの無料アプリであり、a1、a2、a3、a4を起動するためのボタンを備えたダッシュボードのようなものです。ユーザーがa1ボタンをクリックすると、a1が既にインストールされているかどうかを確認して起動しますが、存在しない場合は、ダウンロードするためのリンクをユーザーに提供します。

オプション1:メインアプリ「A」とa1、a2、a3、a4をライブラリプロジェクトとして使用します。ただし、このアプローチでは、メインアプリAのサイズが大きすぎます。

オプション2: a1、a2、a3、a4を個別の.apkとしてビルドし、メインアプリ「A」のアセットフォルダーに配置して、必要に応じてインストールします。ここでもメインアプリAのサイズが大きくなっています。

オプション3: a1、a2、a3、a4をサードパーティのWebサイトまたはPlayストアにアップロードし、必要に応じてそこからダウンロードします。このようにして、メインアプリは軽量のままです。

観察:これらすべてのアプローチでは、ユーザーの電話に独自のアイコンがインストールされた独立したアプリがあります。したがって、基本的に、ユーザーはダッシュボード(最終的にはa1アプリのアクティビティからインテントを起動します)から起動するか、アプリa1を直接起動できます。

フォローアップの質問:この種の問題に取り組むために誰かが提案できる他の解決策はありますか?もう1つのことは、このアプローチを実行することで、アプリa1、a2、a3、a4を互いに独立して開発およびテストできることです。

4

1 に答える 1

0

その価値については、Playストアのオプション3を使用します。これは管理が最も簡単で、最もよく知られています。Google以外のサイトよりもはるかに信頼されています。「コース彼らはその30%が好きです...

あなたのフォローアップのために、私はEclipseを想定しています。他のものを使用する場合は、同様のことを行ってください。

何かを本番環境に移動するときは、リリースパッケージ(フォルダー)を作成します。パッケージには次のものが含まれます。

  1. APK
  2. .classpath、sourceなどを含むエクスポートされたファイル構造。これはプロジェクトとしてインポートできます。
  3. アイコンセット、生データなどのサポートファイル。
  4. 署名に使用されるキーストアのコピー。
  5. 最終的なSDカード画像のコピー。
  6. Playストアに掲載されているマーケティング情報のコピー。

別のドライブに複数回バックアップします。私もDVDを焼きます。

次のリリースで作業するときは、必要なものを新しい保留中のリリースパッケージにコピーします。現在のリリースパッケージを変更しないでください。新しいワークスペースを作成します。sdcardをsdcardフォルダーにコピーします。現在のファイル構造の名前を変更し、変更を加えてファイル構造をエクスポートすることにより、開発中にベンチマークを実行します。

開発中、少なくとも1日に1回、エクスポートを使用してワークスペースファイル構造のコピーを作成します。ほんの数秒で完了します。

必要に応じて、この手順に追加します。Playストアに投稿する前に、apkを含むすべてがリリースパッケージに保存されていることを確認するという考え方です。次に、パッケージに変更を加えません。製品版でエラーが発生した場合は、新しいリリースを開始してください。

これはすべて標準的なプログラミング手法です。あなたはおそらくこれのすべてをすでに知っています。問題はルールを施行することです。あなたは誰よりもあなたの環境をよく知っています。あなたがしなければならないのは、後日その環境を複製することを可能にするリリースパッケージにどのコンポーネントを配置できるかを研究することです。次に、ルールを適用する必要があります。または、自分でそれらに従うようにします。

人々は、ソースコードをすばやく修正または変更し、最後の本番環境の上に構築する傾向があります。午前2時にルールを守りたがる人はいません。あなたは身体的暴力に訴える必要があるかもしれません(詠春拳を知っていますか?)。または、ルールが守られていることを確認するためにGuidoを送ります。

楽しむ。勉強してください。ハードディスクがクラッシュした場合に元の状態に復元するために必要なことをすべてのスタッフに尋ねてください。それがリリースパッケージに含まれるものです。(これは、毎日バックアップする必要があるものでもあります。)

さて、私はあなたがすでに知っていることをあなたに話すのに十分長い間歩き回ってきました。うまくいけば、私はいくつかのアイデアを引き起こしました。いいでしょう、聞こえます。

于 2012-09-25T02:28:45.713 に答える