Как изменить имя пакета приложения для Android
Мое хранилище ключей повреждено, поэтому Android Market требует от меня переименовать приложение и повторно отправить его. Тем не менее, всякий раз, когда я перехожу к редактированию имен пакетов в манифесте и по всем файлам, это дает мне массу ошибок.
Каков правильный способ изменения имени приложения?
Ответы
Ответ 1
Если вы используете Eclipse, вы можете попробовать эти инструкции с сайта разработчика Android. Они специально предназначены для примера GestureBuilder, но должны быть применимы к любому приложению, насколько я могу судить:
[H] как вы могли бы сделать это в Eclipse:
- Щелкните правой кнопкой мыши имя пакета (
src/com.android.gesture.builder
). - Выберите "Рефакторинг" > "Переименовать" и изменить имя, например,
com.android.gestureNEW.builder
. - Откройте файл манифеста. Внутри
<manifest>
, измените имя пакета на com.android.gestureNEW.builder
. - Откройте каждый из двух файлов Activity и сделайте Ctrl-Shift-O, чтобы добавить отсутствующие пакеты импорта, а затем сохраните каждый файл. Запустите приложение GestureBuilder на эмуляторе.
Кроме того, убедитесь, что вы запомнили переименование самого пакета вместе со ссылками на него в файлах. В Eclipse вы можете увидеть имя пакета в окне окна/дерева файла в левой части окна. По моему опыту, Eclipse иногда может быть немного фиктивным и ненадежным с этим (например, оставляя бездомные ссылки на старое имя пакета).
Ответ 2
В Eclipse можно легко изменить имя пакета. Щелкните правой кнопкой мыши на своем проекте, прокрутите вниз до Android-инструментов и нажмите "Переименовать пакет приложений".
Ответ 3
Здесь вы можете сделать это в Eclipse:
- Щелкните правой кнопкой мыши имя пакета (
src/com.android.gesture.builder
).
- Выберите
Refactor > Rename
и измените имя, например, на
com.android.gestureNEW.builder
.
- Откройте файл манифеста. Внутри тега
<manifest>
измените имя пакета на com.android.gestureNEW.builder
.
- Откройте каждый из двух файлов
Activity
и сделайте Ctrl + Shift + O, чтобы добавить отсутствующие пакеты импорта, а затем сохраните каждый файл.
- Запустите приложение
GestureBuilder
на эмуляторе.
Ссылка на сообщение
Обновление
супер легкий способ
щелкните правой кнопкой мыши по вашему проекту...
![enter image description here]()
Ответ 4
В Android Studio, который, честно говоря, вы должны использовать, измените имя пакета на right-clicking
на имя пакета в project structure -> Refactor -> Rename...
Затем он дает возможность переименования каталога или пакета. Выберите пакет. Справочник должен следовать примеру. Введите новое имя пакета и нажмите "Refactor". Он изменит весь импорт и удалит избыточный импорт для вас. Вы даже можете исправить это для вас в комментариях и строках и т.д.
Наконец,, измените имя пакета в AndroidManifest.xml по направлению вверх. В противном случае вы получите ошибки повсюду, жалуясь на R.whatever.
Другое очень полезное решение
Сначала создайте новый пакет с нужным именем by right clicking on the
java folder → new → package.`
Затем выберите и перетащите все ваши классы в новый пакет. AndroidStudio будет переопределять имя пакета везде.
После этого: в приложении build.gradle
добавьте/отредактируйте applicationId с новым. т.е. (com.a.bc
в моем случае):
defaultConfig {
applicationId "com.a.bc"
minSdkVersion 13
targetSdkVersion 19
}
Оригинальная публикация и комментарии здесь
Ответ 5
Без Eclipse:
-
Измените имя пакета и названия активности в AndroidManifext.xml и в любом другом месте в XML файлах (пользовательские имена и т.д.)
-
Обновить оператор импорта пакета во всех исходных файлах
-
Переименуйте все папки в соответствии с именем пакета. Расположение папок:
а. bin/классы
б. ген
с. ЦСИ
-
Обновите имя проекта в файле build.xml(или ваше имя apk не изменится)
-
Удалите все файлы .class в bin/classes/com/example/myapp/(если вы пропустите этот шаг, файлы не будут перезаписаны во время сборки, а dex даст кучу проблем с обработкой "имя класса" не соответствуют пути "
-
Удалить gen/com/example/myapp/BuildConfig.java(я не знаю, почему удаление BuildConfig.class на шаге 3a не вызывало dex для обновления пути к этому, но до тех пор, пока я не удалю BuildConfig. java он продолжал воссоздавать gen/com/oldapp_example/oldapp и помещать там BuildConfig.class. Я не знаю, почему у R.java из того же места нет этой проблемы. Я подозреваю, что BuildConfig.java автоматически сгенерирован в pre -compile, но R.java нет)
Вышеуказанные 6 шагов - это то, что я сделал, чтобы изменить имя моего пакета и получить успешную * сборку. Может быть лучший способ обработать шаги 5 и 6 через команды dex для обновления путей или, возможно, путем редактирования classes.dex.d в корневой директории проекта. Я не знаком с dex или если это нормально для удаления/редактирования classes.dex.d, поэтому я пошел с методом удаления файлов .class, которые, как я знаю, будут восстановлены в сборке. Затем я проверил classes.dex.d, чтобы узнать, что еще нужно обновить.
* В моей сборке нет ошибок или предупреждений. EXCEPT dex и apkbuilder устанавливают состояние "Найденный удаленный целевой файл" без каких-либо особенностей того, что этот файл. Не уверен, что это отображается в каждой сборке, если она была там до того, как я испортился с моим именем пакета, или если это результат моих удалений, и мне не хватает шага.
Ответ 6
Выполните следующие действия: -
- Щелкните правой кнопкой мыши проект.
- Перейдите в Android-инструменты.
- Нажмите "Переименовать пакет приложений".
- Измените имя пакета приложения.
DONE
Ответ 7
Самый быстрый способ сделать это в Android Studio 1.3:
- Измените имя пакета в
manifest
- Перейдите в
Module Settings[F4]-> Flavors
, в Application Id
введите одно и то же имя.
- Создайте новый пакет с таким именем:
[right-click-> new-> package]
- Выберите все java файлы вашего проекта, а затем продолжите
[Right-click-> Refactor-> Move-> {Select package}-> Refactor]
P.S. Если вы не будете следовать этому заказу, вы можете в конечном итоге изменить все java файлы один за другим с новыми импортерами и кучей ошибок времени компиляции, поэтому порядок очень важен.
Ответ 8
Изменение названия пакета - боль в заднице. Похоже, что разные методы работают для разных людей. Мое решение быстро и безошибочно. Похоже, что не требуется очистка или сброс затмения.
- Щелкните правой кнопкой мыши имя пакета, затем Refractor > Rename.
- Щелкните правой кнопкой мыши название проекта Android. > Переименуйте пакет приложений.
- Вручную установите имена пакетов в манифесте, которые не были изменены предыдущими шагами.
Ответ 9
- Fist изменить имя пакета в файле манифеста
- Re-factor > Переименуйте имя пакета в папку
src
и поставьте галочку для rename subpackages
- Это все, что вы сделали.
Ответ 10
У Бернштейна есть метод, используйте инструмент Eclipse, "Переименуйте пакет приложений", вам, возможно, придется выполнить некоторую очистку даже после факта.
Кроме того, Eclipse иногда теряет смысл, когда вы вносите изменения в проект. Возможно, вам придется использовать инструмент "Чистый проект" (в меню "Проект".) Если это не сработает, возможно, вам придется закрыть и перезапустить Eclipse. Voo-doo, но Eclipse может быть таким.
Ответ 11
Я нашел самое легкое решение: Regexxer заменить "com.package.name" на "com.newpackage.name", а затем правильно переименуйте каталоги. Супер легкий, супер быстрый.
Ответ 12
Существует также другое решение для пользователей без Eclipse, просто измените атрибут package в <manifest> в AndroidManifest.xml, заменив прежнее имя пакета, используемое новым. Примечание.. Вы также должны вручную настроить все связанные операторы импорта и связанные с ними папки в своем проекте.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="new.package.name"
.....
</manifest>
Ответ 13
Альтернатива:
- Открыть AndroidManifest.xml
- Изменить пакет = "NEW NAME" в теге манифеста.
Ответ 14
-
Щелкните правой кнопкой мыши по проекту > Инструменты Android > Переименуйте пакет приложений
-
Перейдите в src и щелкните правой кнопкой мыши на основном пакете > Рефакторинг > Переименовать
-
Перейдите в файл манифеста и измените имя своего пакета.
Ответ 15
Я просто потерял несколько часов, пытаясь найти все решения. Я был уверен, проблема в моем коде - запуск apk, но некоторые ошибки при работе с разными классами и действиями.
Только способ работы с моим проектом:
- переименуйте его - файл/переименовать и отметьте все флажки
- проверьте, не переименованные места, у меня было в одном из старых старое имя все еще в инструментах: context = "..
- создать новое рабочее пространство
- импортировать проект в новое рабочее пространство
Для меня это работает, только решение.
Ответ 16
В Android Studio 1.2.2
Скажем, если вы хотите изменить com.example.myapp
на org.mydomain.mynewapp
Вы можете выполнить шаги в каждом из каталогов, как показано на следующем снимке экрана. Он предоставит вам возможность предварительного просмотра, чтобы вы могли предварительно просмотреть все изменения.
Перейдите к Refactor -> Rename
и укажите свое новое имя. Вы должны сделать это для каждой из папок, например, для com, example и myapp. Он автоматически обновит импорт, чтобы вам не пришлось беспокоиться об этом.
![введите описание изображения здесь]()
Также обновите файл build.gradle
, который не обновляется автоматически.
defaultConfig {
applicationId "org.mydomain.mynewapp" //update the new package name here
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
После этого он попросит sync
сделать это. Тогда все будет хорошо. После этого я могу загрузить APK в Google Store. Убедитесь, что вы подписали приложение, чтобы загрузить его в магазин.
Ответ 17
Итак, использование IntelliJ с плагином Android (Studio) было следующим: я пошел в AndroidManifest.xml
сверху и изменил имя пакета, щелкнув правой кнопкой мыши → Refactor → rename.
У нашего имени пакета было четыре части a.b.c.d
, а новая - только a.b.c
.
Поэтому я переименовал первые три. Затем я отправился в каталог сгенерированных источников (app\build\generated\source\r\development\debug\a\b\c\d
), щелкнул правой кнопкой мыши R
класс и Refactor- > Move [d] до одного пакета выше. То же самое с BuildConfig
в app\build\generated\source\buildConfig\development\debug\a\b\c\d
.
Используя Refactor- > Move, IntelliJ обновляет все ссылки на BuildConfig
и R
.
Наконец, я обновил все applicationId [s], которые я нашел в gradle.build. Я ударил проект Clean Project, Make and Rebuild. Удалите приложение с моего телефона и нажмите "Играть". Все это сработало, поэтому рефакторинг был простым и довольно быстрым.
Ответ 18
Ниже приведен краткий шаг за шагом, чтобы изменить название приложения Android App в Android Studio...
fooobar.com/info/23380/...