私は2つのAndroidプロジェクトがあります。1つのプロジェクトを別のプロジェクトからコピーし、次にアプリ名を変更しました(strings.xml内)およびtheプロジェクト名(Eclipse内)。
しかし今問題があります:私はどちらかのアプリケーションを実行しますエミュレーターで他の1つは失われるでしょう(おそらく上書きされますか?)。 Androidは、2つのアプリが異なることを認識するので、別の設定を行う必要があると思いますか?
ありがとう!
パッケージ名(Java)。
アプリ名もマニフェストに含まれていますが、一意である必要はないと思いますが、明確にするために変更することをお勧めします。
実際には、いくつかの場所で名前を変更する必要があります。
最初に、あなたが言ったように、アプリケーションの表示名である文字列の名前。
次に、activity-> srcに移動してパッケージ(com.example.whatever)を右クリックし、refactor-> renameを実行します。
次にmanifest.xml:に移動し、次のフィールドを変更します。
<manifest package="com.example.whatever" >
ネイティブコードJNIを使用している場合は、c ++関数の名前も変更する必要があります。これはお尻の痛みです。
Java_com_example_whatever_activity_function()
Android Studioを使用しておらず、手動で実行したい場合(たとえば、React Native)を使用している場合)は、最近これを実行しました次のファイルで変更する必要がありました:
index.Android.js
Android/settings.gradle
Android/app/build.gradle
Android/app/src/main/AndroidManifest.xml
Android/app/src/main/Java/com/<app id>/MainActivity.Java
Android/app/src/main/Java/com/<app id>/MainApplication.Java
Android Studioユーザーの場合、AndroidManifest.xmlおよびbuild.gradleファイル-> defaultConfig-> applicationIdでもパッケージ名を変更する必要があります。
このタスクを達成するために私が見つけた最も簡単な方法は、.gradleで製品フレーバーを利用することです
productFlavors {
MainApp {
applicationId = "com.company.app"
}
NewAppFlavor {
applicationId = "com.company.newapp"
}
}
buildTypes {
debug {
buildConfigField "Java.util.Date", "buildTime", "new Java.util.Date(" + getDateAsMillis() + "L)"
applicationIdSuffix ".debug"
}
}
次に、AndroidManifest.xmlでパッケージ名を次のように指定します
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
package="com.company"
Android:versionCode="1"
Android:versionName="0.1.1" >
リリース構成時に、Android Studio(この記事の執筆時点では1.5.1))はどのフレーバーをビルドするかを尋ねます。
デバッグ構成は少し直感的ではありません。画面の左下隅にカーソルを合わせ、[バリアントのビルド]を選択し、再生ボタンを押したときにデバッグ構成が展開するフレーバーを選択する必要があります。
Android studioを使用している場合
プロジェクトIDはbuild.gradle
ファイルはフィールドを変更するだけですapplicationId "com.example.whatEver"
うまくいくことを願っています
Google-services.jsonのパッケージ名も変更する必要があるため、名前の変更が機能しないことがわかりました
アプリグラドルのapplicationId
を変更します。
strings.xml
のfile_provider_authorityを変更します
Firebaseを使用している場合は、firebaseに新しいプロジェクトを追加し、新しいgoogle-services.jsonファイルをダウンロードして、古いファイルをこれに置き換えます。
必要に応じて、アプリ名も変更します。
アプリケーションの一意の識別子はパッケージ名です。パッケージ名を変更してアプリを再インストールすると、携帯電話に2つのコピーが作成されます。
Eclipseは、コードのすべての場所で自動的に変更できます。
パッケージエクスプローラー(プロジェクトツリー)でプロジェクトを右クリックし、Android Tools-> Rename Application Packageに移動します。
ボイラ。
Androidを選択します。そのため、Javaフォルダの下のパッケージ名を右クリックし、[リファクタリング]-> [名前の変更]を選択します。 。「パッケージ名の変更」ボタンをクリックします。必要な新しいパッケージの名前を入力し、すべてのオプションをマークして確認します。
結果が表示されたら、「Do Refactor」をクリックします。
私のセットアップ
app/Java/com.company.app
を見つけます。Refactor > Rename
、次にRename Package
を選択します。Do Refactor
をクリックします。手でハックする必要はありません。