Ответ 1
Щелкните правой кнопкой мыши свой проект, затем Android Tools → Rename Application Name:
Или, если вы хотите сделать это вручную, перейдите в файл манифеста, измените имя пакета и сделайте Project Clean.
Я использую eclipse, и я создал тестовый проект для Android, и пакет в папке "gen", содержащий R.java
, в настоящее время называется com.something.test
(я думал, что просто тестирую, но создаю на нем все свое приложение!)
Это указано при загрузке приложения, и телефон иногда отображает его, поэтому мне нужно переименовать его. Я попробовал это, щелкнув рефакторинг, но он снова восстановил его со старым именем!
Можно ли переименовать его?
Щелкните правой кнопкой мыши свой проект, затем Android Tools → Rename Application Name:
Или, если вы хотите сделать это вручную, перейдите в файл манифеста, измените имя пакета и сделайте Project Clean.
Проверьте AndroidManifest.xml
, там package
атрибут элемента <manifest>
верхнего уровня. Именно здесь генерируется R.java
, и вы должны быть осторожным переименовать его.
Для тех, кто пытается вручную изменить его, утверждения, связанные с файлом R.java, верны. Если вы просто измените его в манифесте, вы получите длинную последовательность ошибок "R не могут быть разрешены" в ваших java файлах, которые ссылаются на ресурсы. Чтобы исправить это, вам нужно добавить импорт для класса R в каждый из этих файлов.
Итак, если у вас был пакет изначально: "com.mycomp.myapp.android" и изменил его на "com.mynewcomp.myapp.android", вам нужно будет войти в каждый файл класса java и добавить:
import com.mynewcomp.myapp.android.R;
Если вы запустили первоначально предложенную команду переименования в проекте, это будет сделано для вас автоматически.
Он получает имя в корневом пакете вашего приложения. Если вы измените свой корневой пакет приложения на что-то еще, R.java будет существовать в этом пакете.
Еще одна вещь, которую нужно проверить, - это иметь пользовательские представления с пространствами имен xml. Мне потребовалась минута, чтобы понять, что мне нужно изменить атрибут xmlns.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:myxmlnamespace="http://schemas.android.com/apk/res/com.mynew.packagename"
...
Я знаю, что это старый вопрос, но мне это нужно сейчас, и, возможно, кому-то это тоже нужно. Я использую Android Studio 2.1.1
Чтобы заставить его работать, мне пришлось изменить:
Таким образом, не нужно было импортировать R в каждый класс java.
Важно помнить, что это не обычное изменение и не должно выполняться каждый раз.
Ссылка applicationId против имени пакета объясняет разницу между ними и почему они не должны меняться.
Я реорганизовал свой пакет один за другим с помощью Right Click- > Refactor и Android Manifest.XML. Мой файл R по-прежнему строился на старом имени пакета.
Закрытие и открытие проекта исправили эту проблему, но мне нужно было сделать ручное изменение во всех моих java файлах.