Как изменить имя приложения Android и идентификатор существующего приложения? - PullRequest
16 голосов
/ 03 июля 2011

У меня есть два проекта Android в Eclipse. Я скопировал один проект из другого, затем изменил имя приложения (в strings.xml) и имя проекта (в Eclipse).

Но теперь возникает проблема: когда я запускаю одно из приложений в эмуляторе, другое теряется (может быть перезаписано?) . Итак, я предполагаю, что есть еще одна настройка, которую я должен сделать, чтобы Android распознал эти два приложения как разные?

Спасибо!

Ответы [ 10 ]

12 голосов
/ 29 ноября 2013

На самом деле вам нужно изменить имя в нескольких местах:

Во-первых, как вы сказали, имя строки, которая является видимым именем приложения.

Во-вторых, перейтина деятельность-> src и щелкните правой кнопкой мыши на пакете (com.example.whither) и выполните refactor-> rename;

Затем перейдите к manifest.xml: и измените поле в:

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

Если вы используете нативный код JNI, вам также придется изменить имена функций c ++, что очень неприятно:

Java_com_example_whatever_activity_function()
9 голосов
/ 10 января 2017

Для тех, кто не использует 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
8 голосов
/ 17 декабря 2014

Для пользователей Android Studio необходимо изменить имя пакета в AndroidManifest.xml, а также в файле build.gradle -> defaultConfig -> applicationId.

8 голосов
/ 03 июля 2011

Название пакета (в java).

Имя приложения также есть в манифесте, хотя я не думаю, что оно должно быть уникальным, но все же было бы неплохо изменить его для ясности.

6 голосов
/ 14 февраля 2016

Самый простой способ, который я нашел для выполнения этой задачи, это использовать Product Flavor в .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 на момент написания этой статьи) спросит, какой вариант сборки.

Настройка отладки немного менее интуитивна, вы должны навести курсор на левый нижний угол экрана,выберите «Build Variants» и выберите, какой вариант будет использовать ваша конфигурация отладки при нажатии кнопки воспроизведения.

2 голосов
/ 12 июня 2017

если вы используете Android studio, тогда
Ваш идентификатор проекта находится в вашем build.gradle файле, просто измените поле applicationId "com.example.whatEver"
Надеюсь, он будет работать

1 голос
/ 26 июля 2018

Я обнаружил, что мое переименование не работает, потому что мне также нужно было изменить имя пакета в google-services.json

1 голос
/ 28 января 2015

Выберите Android в левом верхнем углу окна проекта.Итак, щелкните правой кнопкой мыши по имени вашего пакета в папке Java и выберите «Refactor» -> Rename ... Нажмите кнопку «Rename Package Button».Введите название нового пакета, который вы хотите, отметьте все опции, затем подтвердите.

Когда отобразятся результаты, нажмите «Выполнить рефакторинг».

1 голос
/ 06 августа 2014

Уникальный идентификатор приложения - это имя пакета.Если вы измените имя пакета и заново установите приложение, у вас останется две копии на вашем телефоне.

Eclipse может автоматически изменить его во всех местах вашего кода.

Просто вернощелкните свой проект в проводнике пакетов (дерево проектов) и перейдите в Инструменты Android-> Переименовать пакет приложений

Voilà.

0 голосов
/ 27 ноября 2018
  1. Изменение applicationId в приложении Gradle.

  2. Изменить file_provider_authority на strings.xml

  3. Если вы используете firebase, добавьте новый проект в firebase, загрузите новый файл google-services.json и замените старый на этот.

При желании можно также изменить имя приложения.

...