Почему бы не использовать новый сканер для каждого чтения? Как показано ниже. При таком подходе вы не столкнетесь с вашей проблемой.
int i = new Scanner(System.in).nextInt();
Изменение идентификатора приложения (которое теперь не зависит от имени пакета) может быть выполнено очень легко за один шаг. Вам не нужно касаться AndroidManifest. Вместо этого сделайте следующее:
Обратите внимание, что not не изменит имя пакета. Развязка имени пакета и идентификатора приложения объясняется здесь: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
Например, если вы хотите изменить com.example.app
на my.awesome.game
, то:
Refactor
Нажмите Rename
. В диалоговом окне «Всплывающее окно» нажмите Rename Package
вместо «Переименовать каталог» Введите новое имя и нажмите «Refactor». Нажмите «Refactor» в нижней части. Разрешите минуту, чтобы Android Studio обновила все изменения. Примечание. При переименовании com
в Android Studio это может привести к предупреждению. В этом случае выберите Переименовать все [/g7]
build.gradle
- обычно app
или mobile
). Обновите applicationId
к новому имени пакета и Sync Gradle, если он еще не был обновлен автоматически: [/g8]
package=
в вашем манифесте. Лучший способ записать новое имя пакета и перетащить его из старого имени пакета. Второй способ, если вы нажмете Refactor, затем переместите опцию, затем переименуйте имя пакета, он переименует имя пакета, а затем перестроит.
В Build.gradle Вам нужно сделать вручную, если u Refactor, то он не будет переименован в build.gradle.
(1)
Откройте файл:
app >> manifestests >> AndroidManifest.xml
Выделите каждую часть имени пакета, которую вы хотите изменить (не выделяйте полное имя пакета), затем:
Выполняйте эти шаги в каждой части имени пакета
(2)
Open (Gradle Script) >> (build.gradle (Modul: app))
и обновить applicationId к имени вашего пакета
(3)
откройте меню (сборка) и выберите (перестроить проект)
ctrl + shift + R всегда работал для меня. Просто замените все и выберите «Все файлы».
Щелкните правой кнопкой мыши пакет на панели проекта.
Выберите Refactor -> Rename из контекстного меню.
Это очень хорошо работает для меня даже для изменения вхождений во всех соответствующих модулях для имен папок, которые я хочу изменить в пакете, но для меня он отлично работает только , если Я выполняю следующие шаги:
Быстрый и простой способ:
1- открыть MainActivity.java
или любой доступный java-файл.
В верхней части есть объявление пакета, например:
< blockquote> package com. example
.myapp;
выберите часть пакета, которую вы хотите изменить, и нажмите Shift + F6. Я лично хочу изменить example
.
В диалоговом окне предупреждения выберите «Переименовать пакет», а затем вставьте нужное имя пакета.
2- Откройте AndroidManifest.xml
и внутри <manifest>
измените значение package
на нужное имя пакета.
3- открыть build.gradle(Module: app)
и изменить applicationId
на нужный пакет.
После того, как вы перейдете к одному из этих методов, чтобы переименовать ваш пакет, вы можете начать видеть ошибки.
Если / если ваш R.java не создается правильно, вы получите много ошибок в вашем проекте, говоря error: cannot find symbol class R
, а также error: package R does not exist
.
Не забудьте проверить свой манифест приложения xml. Имя пакета манифеста должно совпадать с фактическим именем пакета. Кажется, что R.java генерируется из манифеста приложения и может вызывать эти ошибки, если есть несоответствие.
Не забудьте проверить соответствие атрибутов package
в вашем <manifest package="com.yourcompany.coolapp">
Если ваше имя пакета разделено более чем на две точки, скажем com.hello.world
, и более того, вы ничего не помещали в com/
и com/hello/
. Все ваши классы помещаются в com/hello/world/
, вы можете сделать следующие шаги для реорганизации имен ваших пакетов в Android Studio или IntelliJ:
com/
, com/hello/
). Вы можете достичь этого, сначала добавив два файла в пакет com.hello.world, скажем blockquote>com.hello.world.PackageInfo1.java com.hello.world.PackageInfo2.java
, затем реорганизуйте их, переместив их в com и com. привет соответственно. Вы увидите, что com и com.hello сидят там в Project (
Alt+1
илиCommand+1
для ярлыка) и переименование каталогов рефакторинг ждет там, как вы ожидали.
- Рефакторинг для переименования одного или больше этих каталогов для достижения вашей цели. Единственное, что вы должны здесь заметить, - это выбрать каталоги, а не пакеты, когда диалог спросит вас.
- Если у вас много классов в вашем проекте, вам потребуется некоторое время, чтобы подождать его автосканирование и переименование.
- Кроме того, вы должны переименовать имя пакета внутри AndroidManifest.xml вручную, я думаю, что другие имена в этом файле могут принести пользу префиксу.
- [ALSO], вам может понадобиться заменить все
com.hello.world.R
на новыйXXX.XXX.XXX.R
(Command+Shift+R
для краткости)- Восстановить и запустить проект, чтобы увидеть, работает ли он. И используйте «Найти в пути», чтобы найти другие имена без касания, которые вы хотели бы переименовать.
- Наслаждайтесь им.
Обязательно возвращайтесь к Ответу Шехарьяра, который начинается с In Android Studio, you can do this:
, потому что это БОЛЬШОЕ. Есть так много ответов и комментариев, которые следуют за ним, что было бы легко запутаться и отказаться, но НЕ. Это ответ РАБОТЫ.
Короче говоря, вы делаете три слова:
Снимите выделение Compact Empty Middle Packages
.
Refactor
Rename
каждый старый узел каталогов, выбирая CHANGE PACKAGE ( not ), чтобы соответствовать новому имени пакета. [Обязательно сделайте предварительный просмотр изменений.)
Отредактируйте файл build.gradle
и сделайте APPLICATION_ID
совпадающим с новым именем пакета.
Дополнительный ответ через 3 года, конечно, если какой-либо предыдущий не работает для вас, потому что «что-то».
Готово!
Имя вашего пакета будет изменено со всех java-файлов и файла манифеста. Вы должны вручную изменить имя пакета из build.gradle
выбрать пакет будет реорганизован, refactor-> move -> "переместить xxx в новый пакет"
Я нашел другой способ, который работает, или дополнительный шаг к некоторым из ответов здесь, особенно если вы хотите изменить домен. Работает в android studio 1.4. Это то, что я сделал:
, например, если вы хотите переименовать «com.example.app» в «com.YourDomain.app», откройте файл под пакетом, который нужно переименовать, в пакете панибрами, установите курсор на «примерную» часть домена и нажмите «Shift + F6» и переименуйте пакет в «YourDomain».
Надеюсь, что это поможет:)
Я видел верхние голосовые ответы, но я обнаружил, что это немного отличается от этого, я стараюсь сделать самый полный учебник.
В Android Studio нажмите значок шестеренки ( ] [/g4]), а затем выберите опцию: "Compact Empty Middle Packages"
, чтобы увидеть папки, разделенные в древовидном представлении.
Теперь выберите , щелкните правой кнопкой мыши, чтобы открыть контекстное меню, выберите Refactor
, а затем Rename
Вам будет предложено реорганизовать пакет:
Затем в окне отобразятся совпадения внутри объекта, выберите "Do Refactor"
:
Нам не нужно вручную изменять файлы AndroidManifest.xml или build.gradle, рефакторинг пакета выполнит эту работу !.
Я нашел способ более легкого решения этой проблемы, который также изменил сгенерированный импорт, такой как com.test.testpackagechange.R
, и занимает всего около минуты.
Ваш первый шаг - открыть Android Studio и открыть замену все окна (Mac: cmd + shift + R, Windows я предполагаю: ctrl + shift + R). Введите имя старого пакета и имя под новым именем пакета. Нажмите «Найти». Это может занять некоторое время, поскольку оно также просматривает созданные объекты. Если у вас более 1000 ударов, просто нажмите «Продолжить».
После того, как вы сделали это, нажмите «Заменить все», чтобы заменить старое имя пакета новым 1.
Теперь закройте Android Studio и перейдите в Finder на Mac или Windows Explorer в Windows. Измените имя папок на новое имя пакета, например:
Теперь откройте Android Studio еще раз. Gradle будет синхронизироваться, и ваше имя пакета должно быть изменено на новое.
Я нашел, что это самый простой и тот, который охватывает все области, такие как сгенерированные файлы.
Еще один хороший метод: сначала создайте новый пакет с нужным именем, щелкнув правой кнопкой мыши по папке java -> new ->.
Затем выберите и перетащите все свои классы в новый пакет ,
Наконец, удалите старый пакет.
Готово.
Еще одна важная вещь
При использовании этого метода вы должны вручную изменить файл манифеста Android и файл градиента в новый пакет.
Подход, используемый мной для переименования имени пакета, прост: -
Шаг 1: выберите пункт «Проект» в меню слева от Android Studio
Шаг 2: Щелкните правой кнопкой мыши по java и добавьте новый пакет и установите желаемое имя пакета
Шаг 3: Введите новое имя_файла
Шаг 4: Скопируйте все файлы из старого пакета и вставьте новый пакет
Шаг 5: Переименуйте имя пакета в файле манифеста
Шаг 6: Переименовать имя пакета в файле build.gradle
Шаг 7: Затем щелкните правой кнопкой мыши старый пакет и удалите его со всеми его данными и удалите этот каталог а также
Шаг 8: Затем перестройте свой проект
Шаг 9: Затем вы найдете некоторые ошибки старого import packagename в своем проекте. Выберите старое имя пакета в любом файле и нажмите CTRL + Shif. t + R и введите новое имя пакета в поле замены, затем нажмите find
Шаг 10: Затем появится всплывающее окно, как показано ниже, и выберите «Все» файлы из файла
Шаг 11: снова перестройте свой проект, бинго изменилось ваше имя пакета проекта:)
Это я считаю, что вы ищете Refactor> Move. Вы также можете нажать F6.
Вы получите два всплывающих окна. Убедитесь, что вы выбрали переименование пакета на обоих. После этого вы получите всплывающее окно для размещения нового имени пакета.
Обратите внимание, что если ваше имя пакета, например, com.example.android.projectname, то это позволит вам сменить com.example.android на что-то другое.
Еще одна вещь, это также обновит applicationId в вашем build.gradle. Просто убедитесь, что флажки для «поиска в комментариях и строках» и «поиск текстовых вхождений» проверяются для его работы.
shift+F6
, вы получите всплывающее окно, как показано ниже, выберите «Переименовать пакет». Вот и все.
Щелкните правой кнопкой мыши по пакету -> рефакторинг и измените имя. Вы также можете изменить его в манифесте. Иногда, если u меняет имя пакета, но после создания apk он показывает другое имя пакета в это время, проверьте «applicationId» в файле build.gradle.
Обновленный ответ: май 2015
OK Я боролся с клонированием и amp; переименование проектов в Android Studio, но, в конце концов, я это достиг. Ниже приведены следующие шаги:
Вот и все ...
Общей ошибкой, которую можно сделать, является то, что нельзя переименовать структуру пакета, т. е. невозможно изменить com.name.android на com.Renamed.android при попытке изменить на уровне com.name.android.
Чтобы иметь одинаковые желаемые изменения, перейдите на один уровень вверх, т.е. com.name, и здесь, когда вы реорганизуете его, переименуйте. Это всегда будет работать
Я попробовал два решения с высоким рейтингом, но нашел некоторые проблемы, хотя оба они работают в некоторой степени.
После некоторых экспериментов я нашел, что следующий метод хорошо работает для меня.
Если вам просто нужно изменить последнюю часть имени пакета, используйте метод, описанный GreyBeardedGeek , а именно
Щелкните правой кнопкой мыши пакет на панели «Проект». Выберите «Рефакторинг» -> «Переименовать» из контекстного меню
. Если вам нужно изменить полное имя пакета, сделайте следующее.
Щелкните правой кнопкой мыши на пакете на панели «Проект». Выберите «Рефактор» -> «Переместить» из контекстного меню
. Это создаст новую папку пакета (если необходимо), но сохранит последнюю часть имени вашего пакета, как и раньше. Если вам нужно изменить последнюю часть, выполните переименование соответственно.
Обратите также внимание, что вам может потребоваться изменить имена пакетов, например. build.gradle, manifest и / или любые файлы ресурсов xml или даже в вашем коде, если они жестко закодированы. После этого при необходимости выполните проект Sync / Clean / Rebuild.
Пожалуйста, попробуйте выполнить следующие действия:
******* Наконец, это делается ******
Первая часть состоит из создания нового пакета в папке «java» и выбора, а затем перетаскивания всех исходных файлов из старого пакета в этот новый пакет. После этого вам нужно переименовать имя пакета в манифесте android для имени нового пакета.
На шаге 2 вот что вам нужно сделать. Вам нужно изменить старое имя пакета в «applicationId «в модуле« build.gradle »в вашей студии Android в дополнение к изменению имени пакета в манифесте. Итак, в общем, нажмите «build.gradle», который ниже «AndroidManifest.xml», и измените значение «applicationId» на новое имя пакета.
Затем, на самом верху, под «build». очистите свой проект, а затем перестройте. Здесь должно быть хорошо.
Пакеты служат двум целям. Один из них - уникальное определение вашего приложения в Google Play Store. Другой - это имя пакета для класса R.java, который создается при создании вашего проекта. Вы можете представить себе первую цель как внешний пакет, а второй - как внутренний пакет. Предполагая, что вы хотите изменить внешний пакет, чтобы вы могли идентифицировать его в магазине Play, есть удобный способ сделать это.
В Android Studio выберите «Файл»> «Структура проекта»> «Выберите модуль вашего приложения»> нажмите на Flavors> измените идентификатор приложения. Теперь, когда вы создадите свой проект, ваш APK и манифест будут использовать это новое имя пакета.
Я рекомендую использовать Sublime Text (или Notepad ++). Замените com.one.lastname -> com.two.newname и com / one / lastname -> com / two / newname в ... \ Projects [MyProject]. и не забудьте переименовать ... \ Projects \ MyProject \ app \ src \ main \ java \ com \ one \ lastname, ... \ Projects \ MyProject \ app \ src \ test \ java \ com \ one \ lastname и ... \ Projects \ MyProject \ app \ src \ androidTest \ java \ com \ one \ lastname! Вот и все :)
Intelli J имеет опцию «Компактные пустые средние пакеты». Выберите значок опции на вкладке «Проект» и деактивируйте ее.