Мой склад ключей поврежден, поэтому Android Market требует, чтобы я переименовал приложение и повторно отправил его. Однако всякий раз, когда я иду редактировать имена пакетов в Манифесте и во всех файлах, это выдает мне массу ошибок.
Как правильно изменить имя приложения?
Ответы:
Если вы используете Eclipse, вы можете попробовать эти инструкции с сайта разработчика Android. Они специально для образца GestureBuilder, но должны применяться к любому приложению, насколько я могу сказать:
Также не забудьте переименовать сам пакет вместе со ссылками на него в файлах. В Eclipse вы можете увидеть имя пакета в окне проводника файлов / в виде дерева с левой стороны. По моему опыту, Eclipse может иногда быть немного привередливым и ненадежным (например, оставляя за собой случайные ссылки на старое имя пакета).
источник
app_name
в res-> values => strings.xmlВ Eclipse есть способ легко изменить имя пакета. Щелкните правой кнопкой мыши свой проект, прокрутите вниз до «Инструменты Android», а затем нажмите «Переименовать пакет приложений».
источник
Вот как вы можете сделать это в Eclipse:
src/com.android.gesture.builder
).Refactor > Rename
и измените имя, например, наcom.android.gestureNEW.builder
.<manifest>
тега измените имя пакета наcom.android.gestureNEW.builder
.Activity
файлов и делать Ctrl+ Shift+ , Oчтобы добавить недостающие импорта пакетов, а затем сохранить каждый файл.GestureBuilder
приложение на эмуляторе.Ссылка на пост
Обновите супер простой способ, щелкните правой кнопкой мыши на вашем проекте ...
источник
В Android Studio , которую, честно говоря, вы должны использовать, измените имя
right-clicking
пакета на имя пакета вproject structure -> Refactor -> Rename...
Затем он дает возможность переименовать каталог или пакет. Выберите пакет. Каталог должен следовать примеру. Введите имя нового пакета и нажмите «Рефакторинг». Это изменит весь импорт и удалит лишний импорт для вас. Вы даже можете исправить это в комментариях, строках и т. Д.
Наконец , измените имя пакета соответственно в вашем AndroidManifest.xml вверх. В противном случае вы будете получать ошибки везде, жалуясь на Р. что бы то ни было.
Еще одно очень полезное решение
Сначала создайте новый пакет с нужным именем
by right clicking on the
java folder -> new -> package.Затем выберите и перетащите все ваши классы в новый пакет. AndroidStudio будет пересматривать имя пакета везде.
После этого: в вашем приложении
build.gradle
добавьте / отредактируйте идентификатор приложения с новым. т.е. (com.a.bc
в моем случае):Оригинальный пост и больше комментариев здесь
источник
package
под папкойjava
Без затмения:
Измените имя пакета и имена действий в AndroidManifext.xml и в других местах, где оно отображается в файлах .xml (имена пользовательских представлений и т. Д.)
Обновить оператор импорта пакета во всех исходных файлах
Переименуйте все папки в соответствии с именем пакета. Папка местоположения:
а. бин / классы
б. генерал
с. ЦСИ
Обновите имя проекта в 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 автоматически генерируется в процессе предварительной компиляции, но R.java не является)
Вышеуказанные 6 шагов - это то, что я сделал, чтобы изменить имя моего пакета и получить * успешную сборку. Может быть лучший способ обработать шаги 5 и 6 с помощью команд dex для обновления путей, или, возможно, отредактировав classes.dex.d в корневом каталоге проекта. Я не знаком с dex или, если все в порядке, удаляйте / редактируйте classes.dex.d, поэтому я выбрал метод удаления файлов .class, который, как я знаю, будет восстановлен в сборке. Затем я проверил classes.dex.d, чтобы увидеть, что еще нужно обновить.
* В моей сборке не осталось ошибок или предупреждений, за исключением того, что dex и apkbuilder указывают состояние «Найден удаленный целевой файл» без каких-либо подробностей о том, что это за файл. Не уверен, появляется ли это в каждой сборке, было ли это там до того, как я испортил имя моего пакета, или это результат моих удалений, и я пропускаю шаг.
источник
Следуй этим шагам:-
СДЕЛАНО
источник
Самый быстрый способ сделать это в Android Studio 1.3 :
manifest
Module Settings[F4]-> Flavors
, вApplication Id
записи то же самое имя.[right-click-> new-> package]
[Right-click-> Refactor-> Move-> {Select package}-> Refactor]
PS Если вы не будете следовать этому порядку, вы можете в конечном итоге изменить все java-файлы один за другим с новым импортом и кучей ошибок времени компиляции, поэтому порядок очень важен.
источник
Изменение названия пакета - боль в заднице. Похоже, разные методы работают для разных людей. Мое решение быстро и без ошибок. Похоже, очистка или сброс затмения не требуется.
источник
У Бернштейна есть метод, используйте инструмент Eclipse «Переименовать пакет приложений», возможно, вам придется провести некоторую очистку даже после факта. Кроме того, Eclipse иногда теряет смысл, когда вы вносите изменения в проект. Возможно, вам придется использовать инструмент «Очистить проект» (в меню «Проект»). Если это не сработает, возможно, вам придется закрыть и перезапустить Eclipse. Решения Voo-Doo, но Eclipse может быть таким.
источник
Я обнаружил, что самым простым решением было использовать Regexxer для замены «com.package.name» на «com.newpackage.name», а затем правильно переименовать каталоги. Супер просто, супер быстро.
источник
src
папке и поставить галочку дляrename subpackages
источник
Существует также другое решение для пользователей без Eclipse: просто измените атрибут пакета в теге <manifest> в AndroidManifest.xml, заменив использованное имя старого пакета новым. Примечание: Вы должны настроить все связанные операторы импорта и связанные папки в своем проекте вручную, чем тоже.
источник
Альтернатива:
источник
Щелкните правой кнопкой мыши Project> Инструменты Android> Переименовать пакет приложений.
Перейдите в src и щелкните правой кнопкой мыши по основному пакету> Refactor> Rename
Перейдите к файлу манифеста и измените имя вашего пакета.
источник
Я просто потерял несколько часов, пытаясь найти все решения. Я был уверен, проблема в моем коде - запуск apk, но некоторые ошибки при работе с различными классами и действиями.
Единственный способ работы с моим проектом:
Для меня это работает, только решение.
источник
Итак, использование 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, который нашел. Я нажал «Очистить проект», «Сделать и восстановить проект». Удалил приложение с моего телефона и нажал «Играть». Все сложилось так, что рефакторинг был легким и довольно быстрым.
источник
В Android Studio 1.2.2 Скажите, хотите ли вы изменить
com.example.myapp
наorg.mydomain.mynewapp
Вы можете выполнить шаги в каждом из каталогов, как показано на снимке экрана ниже. Это даст вам возможность предварительного просмотра, так что вы можете просмотреть перед внесением любых изменений.Иди
Refactor -> Rename
и дай свое новое имя. Вы должны сделать это для каждой из папок, скажем для com, example и myapp. Он автоматически обновит импорт, так что вам не придется беспокоиться об этом.Также обновите файл,
build.gradle
который не обновляется автоматически.После этого он попросит
sync
сделать это. Тогда все будет хорошо. После этого я могу загрузить свой APK в магазин Google. Убедитесь, что вы подписали приложение, чтобы загрузить его в магазин.источник
источник