web-dev-qa-db-ja.com

Android既存のアプリケーションのアプリ名とIDを変更する方法は?

私は2つのAndroidプロジェクトがあります。1つのプロジェクトを別のプロジェクトからコピーし、次にアプリ名を変更しました(strings.xml内)およびtheプロジェクト名(Eclipse内)。

しかし今問題があります:私はどちらかのアプリケーションを実行しますエミュレーターで他の1つは失われるでしょう(おそらく上書きされますか?)。 Androidは、2つのアプリが異なることを認識するので、別の設定を行う必要があると思いますか?

ありがとう!

22
VKurt

パッケージ名(Java)。

アプリ名もマニフェストに含まれていますが、一意である必要はないと思いますが、明確にするために変更することをお勧めします。

10
Nanne

実際には、いくつかの場所で名前を変更する必要があります。

最初に、あなたが言ったように、アプリケーションの表示名である文字列の名前。

次に、activity-> srcに移動してパッケージ(com.example.whatever)を右クリックし、refactor-> renameを実行します。

次にmanifest.xml:に移動し、次のフィールドを変更します。

<manifest package="com.example.whatever" >

ネイティブコードJNIを使​​用している場合は、c ++関数の名前も変更する必要があります。これはお尻の痛みです。

Java_com_example_whatever_activity_function()
13
Jav_Rock

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
9
Pedram

Android Studioユーザーの場合、AndroidManifest.xmlおよびbuild.gradleファイル-> defaultConfig-> applicationIdでもパッケージ名を変更する必要があります。

9
ARK

このタスクを達成するために私が見つけた最も簡単な方法は、.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))はどのフレーバーをビルドするかを尋ねます。

デバッグ構成は少し直感的ではありません。画面の左下隅にカーソルを合わせ、[バリアントのビルド]を選択し、再生ボタンを押したときにデバッグ構成が展開するフレーバーを選択する必要があります。

8
Lytic

Android studioを使用している場合
プロジェクトIDはbuild.gradleファイルはフィールドを変更するだけですapplicationId "com.example.whatEver"
うまくいくことを願っています

2
Sultan Ali

Google-services.jsonのパッケージ名も変更する必要があるため、名前の変更が機能しないことがわかりました

2
rharding
  1. アプリグラドルのapplicationIdを変更します。

  2. strings.xmlのfile_provider_authorityを変更します

  3. Firebaseを使用している場合は、firebaseに新しいプロジェクトを追加し、新しいgoogle-services.jsonファイルをダウンロードして、古いファイルをこれに置き換えます。

必要に応じて、アプリ名も変更します。

1
Tahlil

アプリケーションの一意の識別子はパッケージ名です。パッケージ名を変更してアプリを再インストールすると、携帯電話に2つのコピーが作成されます。

Eclipseは、コードのすべての場所で自動的に変更できます。

パッケージエクスプローラー(プロジェクトツリー)でプロジェクトを右クリックし、Android Tools-> Rename Application Packageに移動します。

ボイラ。

1
Josh

Androidを選択します。そのため、Javaフォルダの下のパッケージ名を右クリックし、[リファクタリング]-> [名前の変更]を選択します。 。「パッケージ名の変更」ボタンをクリックします。必要な新しいパッケージの名前を入力し、すべてのオプションをマークして確認します。

結果が表示されたら、「Do Refactor」をクリックします。

1
Sergio Sena

私のセットアップ

  • Android Studio 3.5.3
  • Kotlin 1.3.x
  • macOS 10.14.6

Appidの名前を変更するソリューション

  • プロジェクトエクスプローラーでapp/Java/com.company.appを見つけます。
  • 右クリック> Refactor > Rename、次にRename Packageを選択します。
  • リファクタリングプレビューを確認し、すべてのパッケージ参照が選択されていることを確認します。
  • Do Refactorをクリックします。

手でハックする必要はありません。

0
kakyo