Я использовал react-native init MyApp
для инициализации нового приложения React Native. Это создало среди прочего проект Android с пакетом com.myapp
.
Как лучше всего изменить имя этого пакета, например com.mycompany.myapp
:?
Я попытался изменить его, AndroidManifest.xml
но он создал другие ошибки, поэтому я предполагаю, что это не так.
Любая идея?
Ответы:
Я переименовал подпапку проекта из: " android / app / src / main / java / MY / APP / OLD_ID / " в: " android / app / src / main / java / MY / APP / NEW_ID / "
Затем вручную переключаем старый и новый идентификаторы пакетов:
В: Android / приложение / SRC / Main / Java / MY / APP / NEW_ID / MainActivity.java :
В Android / app / src / main / java / MY / APP / NEW_ID / MainApplication.java :
В android / app / src / main / AndroidManifest.xml :
И в android / app / build.gradle :
В андроид / приложение / БАК :
Очистка Gradle 'в конце (в папке / android ):
источник
android/app/src/main/java/com/old_app_name/
в,...com/new_app_name/
и это, кажется, работает.Я использую пакетact-native-rename * npm. Установите его через
Затем из корня вашего проекта React Native выполните следующее:
источник
Чтобы изменить имя пакета с
com.myapp
на:com.mycompany.myapp
(например),android/app
папке. Ты найдешьИзмените на
com.myapp
все, что вам нужно.Надеюсь это поможет.
источник
./gradlew clean
и потом./gradlew app:assembleRelease
.applicationId
и локальноеpackage
имя не зависят друг от друга», «applicationId
однозначно идентифицирует ваше приложение на устройстве и в Google Play Store» - developer.android.com/studio/build/application-idNo matching client found for package name 'xxxxx'
Вы можете просто использовать response-native-rename npm package.
Установить с помощью
npm install react-native-rename -g
Затем из корня вашего проекта React Native выполните следующее
react-native-rename "MyApp" -b com.mycompany.myapp
react-native-rename on npm
но обратите внимание, что эта библиотека удалит ваше
MainActivity.java
иMainApplication.java
. перед изменением имени вашего пакета сделайте резервную копию этих двух файлов и, после изменения имени пакета, просто верните его на место. это решение работает для менябольше информации: Reaction-native-переименовать
источник
Goto Android studio
Щелкните правой кнопкой мыши по вашему пакету (скорее всего, com) -> Refractor -> Rename -> Введите имя нового пакета в диалоговом окне -> Do Refractor
Он будет переименовывать имя вашего пакета везде.
источник
Сценарий инициализации генерирует уникальный идентификатор для Android на основе имени, которое вы ему дали (например,
com.acmeapp
дляAcmeApp
).Вы можете увидеть, какое имя было сгенерировано, посмотрев ключ applicationId
android/app/build.gradle
.Если вам нужно изменить этот уникальный идентификатор, сделайте это сейчас, как описано ниже:
В
/android
папке замените все вхожденияcom.acmeapp
наcom.acme.app
Затем измените структуру каталогов с помощью следующих команд:
mkdir android/app/src/main/java/com/acme
mv android/app/src/main/java/com/acmeapp android/app/src/main/java/com/acme/app
Вам нужен уровень папки для каждой точки в идентификаторе приложения.
Источник: https://blog.elao.com/ru/dev/from-react-native-init-to-app-stores-real-quick/
источник
Если вы используете Android Studio-
меняется
com.myapp
наcom.mycompany.myapp
создайте новую иерархию пакетов com.mycompany.myapp под
android/app/src/main/java
Скопируйте все классы из
com.myapp
вcom.mycompany.myapp
использовании студии графического интерфейса AndroidСтудия Android позаботится о том, чтобы название подходящего пакета было указано для всех скопированных классов. Это полезно, если у вас есть несколько пользовательских модулей и вы не хотите вручную заменять все файлы .java.
Обновите
android/app/src/main/AndroidManifest.xml
иandroid/app/build.gradle
(заменитеcom.myapp
наcom.mycompany.myapp
Синхронизировать проект (сборка Gradle)
источник
У меня есть решение, основанное на ответе @ Cherniv (у меня работает на macOS). Два отличия: у меня есть файл Main2Activity.java в папке java, с которым я делаю то же самое, и я не беспокоюсь о том, чтобы вызывать ./gradlew clean, поскольку кажется, что пакетный пакет реагирует автоматически в любом случае.
В любом случае, мое решение делает то же, что и Чернив, за исключением того, что я создал для него сценарий оболочки bash, поскольку я создаю несколько приложений с использованием одного набора кода и хочу иметь возможность легко изменять имя пакета всякий раз, когда я запускаю свои сценарии npm.
Вот скрипт bash, который я использовал. Вам нужно будет изменить имя_пакета, которое вы хотите использовать, и добавить в него все, что вы хотите ... но вот основы. Вы можете создать файл .sh, дать разрешение, а затем запустить его из той же папки, из которой вы запускаете реактив:
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Вам нужно сначала отредактировать комментарий MainApplication.java в нижней части файла Java. В комментарии есть слово «пакет». Из-за того, как работает скрипт, он берет любую строку со словом «пакет» и заменяет ее. Из-за этого этот сценарий не может быть проверен на будущее, поскольку это же слово может быть использовано где-то еще.
Второй отказ от ответственности: первые 3 команды sed редактируют файлы java из каталога с именем javaFiles. Я создал этот каталог сам, так как хочу иметь один набор java-файлов, которые будут скопированы оттуда (так как я мог бы добавить в него новые пакеты в будущем). Вы, вероятно, захотите сделать то же самое. Поэтому скопируйте все файлы из папки java (просмотрите ее подпапки, чтобы найти фактические файлы java) и поместите их в новую папку с именем javaFiles.
Третий отказ от ответственности: вам нужно отредактировать переменную packageName, чтобы она соответствовала путям в верхней части скрипта и внизу (com.MyWebsite.MyAppName в com / MyWebsite / MyAppName)
источник
В VS Code нажмите
Ctrl + Shift + F
и введите имя старого пакета в «Найти» и введите новый пакет в «Заменить». Затем нажмите «Заменить все вхождения».Определенно не прагматичный путь. Но для меня это сделано.
источник
использование
npx react-native-rename <newName>
С пользовательским идентификатором пакета (только для Android. Для iOS, пожалуйста, используйте Xcode)
Сначала переключитесь на новую ветку (необязательно, но рекомендуется)
Затем переименуйте ваше приложение в $ npx response-native-rename "Приложение для путешествий"
С пользовательским идентификатором пакета
После изменения имени, пожалуйста, убедитесь, что вы идете в папку Android и запускаете
gradlew clean
. затем вернитесь к основному проекту и запуститеnpx react-native run-android
.Также, если у вас есть файл google-services.json в вашем предыдущем проекте, измените его соответствующим образом на новый ... тогда все готово :)
Смотрите больше здесь https://github.com/junedomingo/react-native-rename#readme
источник
Следуйте простым шагам, чтобы переименовать ваш,
app name
иPackage name
если вы не сделали никаких пользовательских изменений в папке Android (т.е. сценарий, в котором вы только что инициализировали проект)name
вpackage.json
файле, как вам нужно, и сохраните его.react-native upgrade
Примечание. Как указано в комментарии в ivoteje50 , не удаляйте папку android, если вы уже выполнили официальные инструкции по созданию хранилища ключей, поскольку она удалит хранилище ключей и вы не сможете снова подписать новое приложение.
источник
Перейдите в Android Studio, откройте приложение, щелкните правой кнопкой мыши на Java и выберите New, а затем Package.
Дайте имя, которое вы хотите (например, com.something).
Переместите файлы из другого пакета (вы хотите переименовать) в новый пакет. Удалить старый пакет.
Зайдите в ваш проект в вашем редакторе и используйте ярлык для поиска во всех файлах (на Mac есть shift cmd F). Введите имя вашей старой упаковки. Измените все ссылки на новое имя пакета.
Перейти к Android Studio, построить, очистить проект, перестроить проект.
Готово!
Удачного кодирования :)
источник
Я использовал пакет response-native-rename .
В терминале выполните команду для установки:
В корне вашего проекта React Native выполните следующую команду:
источник
Вы можете использовать пакет response-native-rename, который примет все необходимые изменения имени пакета в
Приложение / mainapplication.java
AndroidManifest.xml
но не забудьте вручную изменить имя пакета всех файлов в папке java / com. потому что когда я создавал заставку, старое имя пакета не обновлялось.
https://www.npmjs.com/package/react-native-rename
источник
Просто с помощью инструмента поиска и замены моей IDE добились цели.
источник
После запуска этого:
Не забудьте также перейти
Build.gradle
вandroid/app/...
и переименовать идентификатор приложения, как показано ниже:источник
Перейдите в файл android / app / src / main / AndroidManifest.xml -
Обновить :
attr android: ярлык приложения Element как:
и
attr android: ярлык активности Элемента как:
Работал на меня, надеюсь, это поможет.
источник