7

この記事を読んで、同じ問題があると思いました-1つのコードベース、Android上の2つのアプリケーション

、、、、、および/またはのtestAppようなアイテムを含むアプリケーションを作成しました。topicssplash screenslogoschartsrulesstatusesevents

ここで、同じコード ベースのさまざまなアプリケーション ( testApp_USAtestApp_CanadatestApp_Australia) が必要であり、それらを Google Play ストアに配置して、ユーザーがtestApp_USAなどのアプリケーションをダウンロードすると、その地域の特定のアイテムのみが USA のスプラッシュ スクリーンのように表示されるようにします。 、USAロゴなど。

そのため、国に応じて複数のアプリケーションを構成し、ユーザーがダウンロードしたアプリケーションに応じてアイテムをデフォルトとして設定したいと考えています。

現在、すべての地域を対象とする単一のアプリケーションがあり、地域に応じてアイテムを区別または変更するために複数の条件を課しています。

例えば:

多くのJavaファイルで、私は使用しました)

if(rule.contains("USA"))
{
 //Show splash screen of USA
}

(同様に、多くの Java ファイルで、私は を使用しました)

if(rule.contains("Australia"))
{
 //Show splash screen of Australia
}

これは、コード全体で繰り返される多くの項目のうちの 1 つにすぎません。すべてを考慮すると、それははるかに多くなります。

Android で複数のアプリケーションを異なる名前と設定で作成するためのより良い方法があるはずです。

アプリケーション名とプロファイルをiOS簡単に変更して、複数のアプリを作成できるようにします。しかし、私にはわからないか、これは Android コードでは簡単ではありません。

私の質問:

アイテムの設定を変えてandroidで同じソースコードで別のアプリを作成してGoogle Playストアに公開することはできますか? はいの場合、そのような構成を設定するにはどうすればよいですか?

アップデート:

この投稿を読む - multiple-android-application-package-apk-files-from-single-source-code

それから私は同じ考えを思いついた -

1) 作成するアプリケーションの種類に関する値を保持する文字列変数を取得します。

public static final String app_Name = "testApp_CANADA" ;

2) AndroidManifest.xml.apk を作成する必要がある複数のアプリ用に複数のファイルを用意します。

3) 各マニフェストに対応するランチャー アクティビティを作成します。

しかしAndroidManifest.xml、単一のアプリに複数のファイルを含める方法は?

アップデート:

私の最初AndroidManifest.xmlは、いつものようにメイン プロジェクトフォルダー (アプリケーション ルート フォルダー) にあります。についてこれを考慮してくださいtestApp_USA

私の2番目AndroidManifest.xmlは、メインプロジェクトの下の別のパッケージにあります。についてこれを考慮してください。testApp_CANADA

両方ともAndroidManifest.xml、対応するスプラッシュ スクリーン、定義されたアイコンを備えた異なるランチャー アクティビティを備えています。パッケージ名は、要件に応じて異なる .apk ファイルを作成するように、両方で異なる名前が付けられています。

さて、私のメインアプリに設定がある場合、testApp_USA/の間でコードを切り替える方法:testApp_CANADA

public static final String app_Name = "testApp_CANADA" ;

また

より明確に

app_NameAndroidManifest.xmlの値に応じて特定のものを呼び出す方法は?

私が持っている現在の設定では、最初だけAndroidManifest.xmlが常に呼び出されます。

4

5 に答える 5

2

The way to have multiple apps from a common code base is to have the common code as a library project, and have each app use the library project (see http://developer.android.com/tools/projects/index.html). Each project can override strings.xml, and the common come can check the package id.

In your case it seems that this is against the Google Play policy (cookie cutter apps), so it may be better to create one app and let the user choose a country.

于 2013-09-27T15:02:30.083 に答える
1

あなたが正確に何を望んでいるのかわかりません。しかし、私のレベルでは、地理的な場所を取得できます。そこで、アプリが現在実行されている場所を見つけることができます。ロケールまたは地理的な場所が見つかったら、より簡単にロケールから場所を取得できます。それに従ってソースをナビゲートできます。

于 2013-10-04T07:21:22.623 に答える
1

このためには、アプリのローカリゼーションの概念を使用する必要があります。このためには、さまざまなリソース、耐久財を作成する必要があります。アプリケーションを日本で実行したい場合、「res/drawable-ja」のようなドローアブル フォルダーを作成する必要があります。これは、タブレットや小型デバイスをサポートするためにさまざまなレイアウトを作成するのと同じです。参照リンクは次のとおりです。 http://developer.android.com/guide/topics/resources/localization.html http://developer.android.com/distribute/googleplay/publish/localizing.html

于 2013-10-02T14:12:53.787 に答える