Скопируйте существующий проект с новым именем в Android Studio

Я хотел бы скопировать свой проект Android и создать новый проект из тех же файлов с другим именем. Цель этого состоит в том, чтобы у меня была вторая версия моего приложения, которая поддерживается в магазине приложений.

Я нашел этот ответ здесь:

Android - скопируйте существующий проект с новым именем

Но это для Eclipse. Как я могу сделать это в Android Studio?

Ответ 1

Шаги в указанной вами ссылке также должны работать в Android Studio. Просто создайте копию (используя файловый менеджер) всей папки модуля и дайте ей новое имя. Теперь откройте его и используйте Refactor -> Rename (щелкните правой кнопкой мыши элемент, который вы хотите переименовать), чтобы переименовать ваш модуль и пакет.

Подробнее о рефакторинге в IntelliJ/Android Studio см. .

Ответ 2

Если вы используете Gradle - не забудьте изменить атрибут applicationId в файле app/build.gradle.

Ответ 3

Как указало free3dom, вот что нужно сделать:

  1. Создать копию с помощью файлового менеджера
  2. Вручную отредактируйте файл приложения build.gradle чтобы изменить имя пакета (вы можете использовать файловый менеджер).
  3. Вручную отредактируйте AndroidManifest.xml чтобы изменить имя пакета.
  4. Запустите gradle sync.
  5. Откройте проект в Android Studio и выполните рефакторинг имени пакета.
  6. Снова запустите синхронизацию gradle.

Это, кажется, работает без каких-либо проблем.

Ответ 4

Если вы используете новейшую версию Android Studio, вы можете помочь ей в этом.

Примечание. Я проверял это только в Android Studio 3.0.

Процедура выглядит следующим образом:

  1. В представлении проекта (вместе со снимками и структурой в левой части экрана) выберите "Проект" вместо Android.
    Название вашего проекта будет вершиной дерева (наряду с внешними библиотеками).
    Выберите ваш проект, затем перейдите в Refactor → Copy...
    Android Studio спросит у вас новое имя и место, куда вы хотите скопировать проект. Обеспечить то же самое.

  2. После завершения копирования откройте новый проект в Android Studio.
    Пакеты все еще будут под старым именем проекта.
    Это пакеты классов Java, идентификатор приложения и все остальное, что было сгенерировано с использованием старого имени пакета.
    Нам нужно это изменить.
    В представлении проекта выберите Android.
    Откройте подкаталог java и выберите основной пакет.
    Затем щелкните правой кнопкой мыши на нем и перейдите в Refactor затем Rename.
    Android Studio выдаст вам предупреждение о том, что несколько каталогов соответствуют пакету, который вы собираетесь реорганизовать.
    Нажмите на Rename package а не Rename directory.
    После этого шага ваш проект полностью переходит под новым именем.

  3. Откройте файл res/values /strings.xml и измените имя проекта.
  4. Не забудьте изменить идентификатор приложения в "Gradle Build Module: app".
  5. Последний шаг - очистить и перестроить проект, иначе при попытке запустить ваш проект Android Studio скажет вам, что не может установить APK (если вы запускали предыдущий проект).
    Итак, Build → Clean project затем Build → Rebuild project.
    Теперь вы можете запустить свой новый клонированный проект.

Ответ 5

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

В настоящее время лучший способ сделать это - без копирования проекта.
Вы можете сделать это с использованием различных вкусов в вашем файле build.gradle.

 productFlavors {
        flavor1 {
            applicationId = "com.example.my.pkg.flavor1"
        }
        flavorAdSUpport {
            applicationId = "com.example.my.pkg.flavor2"
        }
  }

Таким образом, у вас есть только копия файлов, и вы можете легко справиться с этой разницей.

Ответ 6

Я следую за этими шагами, и это работало до сих пор:

  1. Скопируйте и вставьте папку, как раньше.
  2. Откройте Android Studio (v3.0.1).
  3. Выберите Открыть существующий проект.
  4. Закройте сообщение, которое появится с заголовком: "Импортировать проекты Gradle".
  5. В левой части на вкладке Android перейдите: app → java → выберите первую папку (папку вашего проекта)
  6. Refactor => Rename... (Shift + F6)
  7. Переименовать пакет, выберите оба варианта - введите имя новой папки строчными буквами.
  8. Сделать рефакторинг
  9. Выберите: Синхронизировать проект с файлами Gradle на панели инструментов.
  10. Build => Чистый проект
  11. Перейдите в app → res → values → strings.xml и измените имя приложения во 2-й строке.

Ответ 7

Это комбинация ответа nt.bas и шага 9 ответа Civic с наглядными примерами, потому что мне потребовалось некоторое время, чтобы выяснить, что было задумано, поскольку я новичок в Android Studio. Протестировано в Android Studio 3.2.1.

  1. Откройте проект, который вы хотите клонировать в Android Studio. (В этом примере старое имя проекта было test5 а новое имя проекта было test6)

  2. На левой панели обзора файлов нажмите: Project (где в данный момент может быть указано android).

fig0

  1. Щелкните правой кнопкой мыши проект в области проводника и выберите "Рефакторинг"> "Клон".

fig1

  1. Измените "Новое имя" на новое имя проекта и нажмите "ОК".

fig2

  1. Файл> открыть> Новое окно> Выбрать новый проект> Открыть в новом окне проекта. В новом окне дождитесь завершения нижней строки Android-студии/скажет: "Gradle Sync Finished".

16

17

14

  1. В панели обзора файлов и правой кнопкой мыши щелкните (RMB) на: app.java/<имя вашего старого проекта (не тестовое, не androidTest, просто пустое)>

fig8

  1. Введите новое имя вашего пакета и выберите обе галочки, нажмите рефакторинг.

fig9 fig10

  1. В нижней левой панели нажмите "Сделать рефакторинг".

fig12

  1. Откройте app/res/values /strings.xml и измените имя старого проекта (например, test5) на новое имя проекта в строке:

    <string name="app_name">test5</string>
    

fig3

  1. Откройте Gradle scripts/build.gradle (Модуль: приложение) и измените строку на ту же строку с вашим новым именем проекта:% fig4

    applicationId "com.example.a.test5"    
    

fig4

  1. Желтая линия появится в верхней части панели кода, запрашивая синхронизацию. Нажмите "синхронизировать сейчас".

fig5

  1. в верхней панели нажмите build> Clean project.

fig13

  1. Если в левом нижнем углу написано "Gradle build complete", нажмите "Build> Rebuild project".

fig14

fig15

  1. Теперь вы сможете снова скомпилировать и запустить свой проект (если он сработал в первую очередь).

Ответ 8

При рефакторинге имени пакета в Android Studio может потребоваться щелкнуть маленькое зубчатое колесо справа от пакета /android/project/etc - navigator и снять флажок "компактные пустые средние пакеты", чтобы увидеть каждую часть имени пакета. как собственный каталог. Затем для отдельных каталогов сделать рефакторинг.

Ответ 10

Я использую Android 3.3 и вот как это работает для меня:

1 - Выберите вид проекта

2 - Щелкните правой кнопкой мыши имя проекта, которое находится в корне проекта, и выберите опцию refactor → copy, вам будет предложено в окне выбрать новое имя.

3 - После шага 2 Android создаст для вас новый проект, вы должны открыть этот новый проект с новым именем

4 - Измените имя приложения в "string.xml", оно в "app/res/values /string.xml"

Теперь у вас есть тот же проект с новым именем. Теперь вы можете изменить название пакета, это описано в следующих шагах

(необязательно) Для изменения названия основного пакета

5 - перейдите в "app/java", там будет три папки с одинаковыми именами, основная, (androidTest) и (test), щелкните правой кнопкой мыши на главной и выберите format → rename, вам будет предложено с предупреждением о том, что этому каталогу соответствуют несколько каталогов, затем нажмите "Переименовать пакет". Выберите новое имя и нажмите на рефакторинг. Теперь, под представлением кода, здесь будет предварительный просмотр рефакторинга, нажмите "Do refactor"

6 - Перейдите к опции "построить", нажмите "Очистить проект", затем "Перестроить проект".

7 - Теперь закройте проект и снова откройте его.

Ответ 11

Перейдите в исходную папку, где находится ваш проект.

  1. Скопируйте проект и прошлое и измените название.
  2. Откройте Android Studio и обновите.
  3. Перейти к ->Settings.gradle.
  4. Включить ':your new project name '

Ответ 12

При копировании проекта вам также потребуется удалить исходные промежуточные файлы промежуточной сборки (someActivity $4.class) из файла C:...\AndroidStudioProjects (имя_проекта)\app\build\intermediates\classes\release... каталоги. В противном случае у вас почти наверняка будут сбои сборки для нового проекта если вы пытаетесь скомпилировать скопированный проект. Рефакторинг не решит этого.

Ответ 13

Я попробовал от nt.bas ответа и gnyrfta ответа, который хорошо работает для меня.

Цитата из nt.bas ответа:

Если вы используете новейшую версию Android Studio, вы можете помочь ей в этом.

Примечание. Я проверял это только в Android Studio 3.0.

Процедура выглядит следующим образом:

  1. В представлении проекта (вместе со снимками и структурой в левой части экрана) выберите "Проект" вместо Android.
    Название вашего проекта будет вершиной дерева (наряду с внешними библиотеками).
    Выберите ваш проект, затем перейдите в Refactor → Copy...
    Android Studio спросит у вас новое имя и место, куда вы хотите скопировать проект. Обеспечить то же самое.

  2. После завершения копирования откройте новый проект в Android Studio.
    Пакеты все еще будут под старым именем проекта.
    Это пакеты классов Java, идентификатор приложения и все остальное, что было сгенерировано с использованием старого имени пакета.
    Нам нужно это изменить.
    В представлении проекта выберите Android.
    Откройте подкаталог java и выберите основной пакет.
    Затем щелкните правой кнопкой мыши на нем и перейдите в Refactor затем Rename.
    Android Studio выдаст вам предупреждение о том, что несколько каталогов соответствуют пакету, который вы собираетесь реорганизовать.
    Нажмите на Rename package а не Rename directory.
    После этого шага ваш проект полностью переходит под новым именем.

  3. Откройте файл res/values /strings.xml и измените имя проекта.
  4. Последний шаг - очистить и перестроить проект, иначе при попытке запустить ваш проект Android Studio скажет вам, что не может установить APK (если вы запускали предыдущий проект).
    Итак, Build → Clean project затем Build → Rebuild project.

До этого момента вы переименовываете только название своего проекта. Чтобы переименовать название упаковки, необходимо следовать ответу gnyrfta, который был описан как:

При рефакторинге имени пакета в Android Studio может потребоваться щелкнуть маленькое зубчатое колесо справа от пакета /android/project/etc - navigator и снять флажок "компактные пустые средние пакеты", чтобы увидеть каждую часть имени пакета. как собственный каталог. Затем для отдельных каталогов сделать рефакторинг.


PS: если у вас есть

Не удалось завершить сеанс: INSTALL_FAILED_INVALID_APK: разделенный lib_slice_0_apk был определен несколько раз

Просто удалите папку сборки appmodule и перестройте проект!

Это решит проблему!

Ответ 14

У меня были проблемы с этим следующим:

https://google-developer-training.github.io/android-developer-fundamentals-course-concepts-v2/appendix/appendix-utilities/appendix-utilities.html

в версии Android Studio: 3.3.2

пока я не убил файл .idea/workspace.xml.

$ cp -rv Testcopysource/ TestCopyDest
$ rm TestCopyDest/.idea/workspace.xml
$ stdio.sh & # Run Android Studio on Linux

До этого Android Studio по-прежнему указывала на исходную исходную папку, и все переименования применялись к исходным исходным файлам (в рамках Testcopysource в моем примере выше).

Ответ 15

Требование и тестирование на Android Studio 3.5

Убедитесь, что ваш старый проект работает правильно с вашей существующей библиотекой android studio.

  1. Скопируйте каталог проекта и переименуйте папку для нового имени проекта, например. Bramara
  2. Откройте существующий новый проект с помощью Android Studio 3.5. После открытия проекта перейдите к 1: Проект → Проект. Возможно, вы видели, что ваш проект имеет только два каталога, указывающих на новую папку проекта и старую папку проекта. Закройте свой проект.
  3. Отредактируйте appl.iml в каталоге нового проекта → app → appl.iml с помощью текстового редактора. Замените все старое имя проекта на новое имя проекта.
  4. Откройте свой новый проект. Перейдите к 1: Проект → Проект. Возможно, вы видели, что ваш проект имеет только один каталог.
  5. Перейдите к 1: Проект → Пакеты. щелкните правой кнопкой мыши по вашему компоненту → Refactor → Rename.
  6. Появится предупреждение. Убедитесь, что все изменения будут применены к новой папке проекта! После этого выберите Переименовать пакеты, например. com.dedetok.bramara.
  7. Перейдите к 1: Проект → Android. Откройте приложение → манифесты → AndroidManifest.xml. Исправьте активность приложения в новом имени пакета. Измените имя приложения на новое.
  8. Откройте Gradle Scripts → build.gradle(Module: app), измените свой applicationId на новый проект, например com.dedetok.bramara, и синхронизируйте проект.
  9. Очистите и восстановите свой новый проект.
  10. Ваш новый проект отредактирован/изменен.

Примечание: если adb run показывает активность не найдена, отредактируйте конфигурацию Run/Debug. Модуль должен указывать на применение модуля, например приложение.