Переименование пакета, созданного R.java в

Я использую eclipse, и я создал тестовый проект для Android, и пакет в папке "gen", содержащий R.java, в настоящее время называется com.something.test (я думал, что просто тестирую, но создаю на нем все свое приложение!)

Это указано при загрузке приложения, и телефон иногда отображает его, поэтому мне нужно переименовать его. Я попробовал это, щелкнув рефакторинг, но он снова восстановил его со старым именем!

Можно ли переименовать его?

Ответ 1

Щелкните правой кнопкой мыши свой проект, затем Android Tools → Rename Application Name:

enter image description here

Или, если вы хотите сделать это вручную, перейдите в файл манифеста, измените имя пакета и сделайте Project Clean.

Ответ 2

Проверьте AndroidManifest.xml, там package атрибут элемента <manifest> верхнего уровня. Именно здесь генерируется R.java, и вы должны быть осторожным переименовать его.

Ответ 3

Для тех, кто пытается вручную изменить его, утверждения, связанные с файлом R.java, верны. Если вы просто измените его в манифесте, вы получите длинную последовательность ошибок "R не могут быть разрешены" в ваших java файлах, которые ссылаются на ресурсы. Чтобы исправить это, вам нужно добавить импорт для класса R в каждый из этих файлов.

Итак, если у вас был пакет изначально: "com.mycomp.myapp.android" и изменил его на "com.mynewcomp.myapp.android", вам нужно будет войти в каждый файл класса java и добавить:

import com.mynewcomp.myapp.android.R;

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

Ответ 4

Он получает имя в корневом пакете вашего приложения. Если вы измените свой корневой пакет приложения на что-то еще, R.java будет существовать в этом пакете.

Ответ 5

Еще одна вещь, которую нужно проверить, - это иметь пользовательские представления с пространствами имен xml. Мне потребовалась минута, чтобы понять, что мне нужно изменить атрибут xmlns.

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:myxmlnamespace="http://schemas.android.com/apk/res/com.mynew.packagename"
    ...

Ответ 6

Я знаю, что это старый вопрос, но мне это нужно сейчас, и, возможно, кому-то это тоже нужно. Я использую Android Studio 2.1.1

Чтобы заставить его работать, мне пришлось изменить:

  • пакет - на AndroidManifest.xml
  • applicationId - on build.gradle папки приложения

Таким образом, не нужно было импортировать R в каждый класс java.

Важно помнить, что это не обычное изменение и не должно выполняться каждый раз.

Ссылка applicationId против имени пакета объясняет разницу между ними и почему они не должны меняться.

Ответ 7

Я реорганизовал свой пакет один за другим с помощью Right Click- > Refactor и Android Manifest.XML. Мой файл R по-прежнему строился на старом имени пакета.

Закрытие и открытие проекта исправили эту проблему, но мне нужно было сделать ручное изменение во всех моих java файлах.