¿Cómo cambiar el nombre del paquete en flutter?

158

¿Hay alguna forma de cambiar el nombre del paquete del proyecto Flutter?

Quiero cambiar el nombre del paquete y el nombre de la aplicación en el proyecto flutter.

Abc Xyz
fuente
44
Simplemente busque y reemplace todas las apariciones del antiguo nombre del paquete en todos los archivos. No hay ningún comando o similar para actualizar el nombre todavía.
Günter Zöchbauer
3
Cuando crea un nuevo proyecto, puede especificar el nombre del paquete conflutter create --org com.domain app_name
Victor

Respuestas:

286

Para el nombre de la aplicación de Android

Cambie el nombre de la etiqueta en su AndroidManifest.xmlarchivo:

 <application
    android:name="io.flutter.app.FlutterApplication"
    android:label="TheNameOfYourApp"   

Para el nombre del paquete

Cambie el nombre del paquete en su AndroidManifest.xmlarchivo:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="your.package.name">

También en su build.gradlearchivo dentro de la carpeta de la aplicación

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Finalmente, cambie el paquete en su MainActivity.javaclase (si MainActivity.java no está disponible, verifique MainActivity.kt)

    package your.package.name;

    import android.os.Bundle;
    import io.flutter.app.FlutterActivity;
    import io.flutter.plugins.GeneratedPluginRegistrant;
    public class MainActivity extends FlutterActivity {

Cambiar el nombre del directorio:

De:

  android\app\src\main\java\com\example\name

A:

  android\app\src\main\java\your\package\name

EDITADO: 27-dic-18

para el nombre del paquete solo cambia en la compilación build.gradlesolamente

defaultConfig {
    applicationId "your.package.name"
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

Para iOS

Cambie el identificador de paquete de su Info.plistarchivo dentro de su ios/Runnerdirectorio.

<key>CFBundleIdentifier</key>
<string>com.your.packagename</string>

ACTUALIZAR

Para evitar cambiar el nombre del paquete y el identificador de paquete, puede iniciar su proyecto utilizando este comando en su terminal:

flutter create --org com.yourdomain appname
diegoveloper
fuente
1
También tuve que actualizar el nombre del directorio a continuación (cambiando 'ejemplo' a 'bosque') C: \ Users \ andytwoods \ IdeaProjects \ gear_log \ android \ app \ src \ main \ java \ com \ woods \ gearlog
andyw
1
¿Qué tal para iOS?
Suragch
10
Mi identificador de paquete es $(PRODUCT_BUNDLE_IDENTIFIER). ¿Dónde se esconde esa variable?
Suragch
3
PRODUCT_BUNDLE_IDENTIFIER se almacena en varios lugares en el archivo project.pbxproj del directorio ios / Runner.xcodeproj.
Safa Alai
3
Vale la pena mencionar que el ID de la aplicación debe estar en el formato de 3 palabras separadas por puntos.
Raj Krishnan R
24

Cambiar el nombre manualmente no parece funcionar, arroja errores gradle, bueno en mi caso sí arroja un error.

Por lo general, creo un nuevo proyecto de aleteo.

Uso el comando mencionado a continuación para crear una nueva aplicación de flutter

flutter create --org com.yourdomain appname

su proyecto tendrá el nombre del paquete como -> com.yourdomain.appname


si solo desea mantener el nombre de su paquete, com.appnamehaga algunos cambios de la siguiente manera

flutter create --org com appname

añadir java en lugar de kotlinpara el androidcomplemento-a java

flutter create -a java --org com.yourdomain appname
Vicky Salunkhe
fuente
y es bastante rápido también
grifos
2
'flutter create --org com.yourcompany --project-name new_app_name'. (agregue el período si está dentro del proyecto existente; primero debe eliminar las carpetas de Android e iOS para regenerarlas). HACER UNA COPIA DE SEGURIDAD debe ser un requisito previo importante para la respuesta.
Tommie C.
21

Androide

En Android, el nombre del paquete está en el AndroidManifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    ...
    package="com.example.appname">

iOS

En iOS, el nombre del paquete es el identificador del paquete en Info.plist:

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

que se encuentra en Runner.xcodeproj / project.pbxproj :

PRODUCT_BUNDLE_IDENTIFIER = com.example.appname;

Cambiando el nombre

El nombre del paquete se encuentra en más de una ubicación, por lo que para cambiar el nombre debe buscar en todo el proyecto las apariciones de su antiguo nombre de proyecto y cambiarlos todos.

Android Studio y VS Code:

  • Mac: Command+ Shift+F
  • Linux / Windows: Ctrl+ Shift+F

Gracias a diegoveloper por su ayuda con iOS.

Actualizar:

Después de volver a esta página varias veces, creo que es más fácil y más limpio comenzar un nuevo proyecto con el nombre correcto y luego copiar los archivos antiguos.

Suragch
fuente
19

Cambiar nameatributo en pubspec.yaml (línea 1)

Para el nombre de apk, cambie android:label enAndroidManifest.xml

Fa Kur
fuente
1
Se requiere el cambio de MainActivity.java o mainActivity.kt
Epsi95
19

Para aquellos como yo a quienes no les gusta cambiar archivos específicos, he usado https://pub.dev/packages/rename .

Instalando: pub global activate rename

Y luego, corriendo: pub global run rename --bundleId com.example.android.app --target android

finx
fuente
8

Así es como cambié el nombre del paquete para iOS y Android

  1. Vaya a build.gradle en el módulo de la aplicación y cambie el nombre applicationId "com.company.name"
  2. Vaya a Manifest.xml app/src/mainy cambie el nombre package="com.company.name"yandroid:label="App Name"
  3. Vaya a Manifest.xml app/src/debugy cambie el nombrepackage="com.company.name"
  4. Vaya a Manifest.xml app/src/profiley cambie el nombrepackage="com.company.name"
  5. Ir app/src/main/kotlin/com/something/something/MainActivity.kty renombrarpackage="com.company.name"
  6. Vaya app/src/main/kotlin/y cambie el nombre de cada directorio para que la estructura se vea comoapp/src/main/kotlin/com/company/name/
  7. Vaya a pubspec.yamlsu proyecto y cambie name: somethinga name: name, por ejemplo: - si el nombre del paquete es com.abc.xyzelname: xyz
  8. Vaya a cada archivo de dardos en la carpeta lib y cambie el nombre de las importaciones al nombre modificado.
  9. Abra XCode y abra el archivo runner y haga clic en Runner en el explorador de proyectos.
  10. Vaya a General -> haga doble clic en Identificador de paquete -> cámbiele el nombre a com.company.name
  11. Vaya a Info.plist, haga clic en Nombre del paquete -> cámbiele el nombre por el Nombre de su aplicación.
  12. cierra todo -> ve a tu proyecto de flutter y ejecuta este comando en la terminal flutter clean
Gagan Raghunath
fuente
6

cambiar en todos los archivos AndroidManifest.xml de su Flutter Project, -> package = "your.name.app " (app / src / debug / AndroidManifest.xml ) y (app / src / main / AndroidManifest.xml ) y (app / src / profile / AndroidManifest.xml )

buen aspecto !!

Percy Rojas
fuente
Gracias, Percy. Estaba enfrentando este problema. Encontré tu respuesta.
Desarrollador el
3

Actualizado Debe cambiar el nombre del paquete al nombre de paquete deseado en estas cinco ubicaciones.

1.) src/profile/AndroidManifest.xml
2.) src/debug/AndroidManifest.xml
3.) src/main/AdroidManifest.xml
4.) build.gradle .
       defaultConfig {
           applicationId
5.) MainActivity.java on "package"

el último paso es correr flutter clean

Atul Chaudhary
fuente
3

En el código de Visual Studio

Edición> Reemplazar en archivos

vs código reemplazar en archivos

En el estudio de Android

1. Haga clic derecho en su proyecto> Reemplazar en ruta

reemplazar en camino

2. Escriba su paquete anterior y el nuevo paquete> Reemplazar todo

reemplazar todas las capturas de pantalla

shb
fuente
Dios mío, eres el mejor
N Sivaram
3

De acuerdo con la documentación oficial de flutter, solo necesita cambiar el directorio ApplicationIdin app/build.gradle. Luego, solo tiene que compilar su apk y el nombre del paquete del archivo de manifiesto cambiará de acuerdo con el ApplicationIdque haya cambiado build.gradle. Debido al aleteo al construir un apk y Google Play, ambos consideran ApplicationIddesde build.gradle. Esta solución funcionó para mí.

fuente: documentación oficial

yash
fuente
1

Tenía dos archivos manifest.xml en la sección de mi aplicación, por lo que necesitaba cambiar el nombre del paquete en ambosAquí puedes ver

Progga Ilma
fuente
0

Puede seguir esta documentación oficial de Google: https://developer.android.com/studio/build/application-id.html

El ID de la aplicación se debe cambiar en Build.gradle, mientras que el nombre del paquete se puede cambiar en AndroidManifest.xml.

Sin embargo, se debe tener cuidado al cambiar el nombre del paquete.

Además, al volver a cargar la aplicación, se debe tener cuidado ya que coincide con el ID de la aplicación cargada previamente con la nueva carga.

Abhijeet Singh
fuente
0

En Android, cambie la identificación de la aplicación en

> build.gradle

cambio de archivo e iOS

> nombre del paquete de la configuración del proyecto.

Gurwinder Singh
fuente
0

Incluso si mi respuesta no se acepta como la respuesta correcta, solo siento que todas estas respuestas anteriores me causaron más problemas, así es como lo solucioné

  1. Obtén Sublime Text (loco, ¿verdad? No, solo sigue mis pasos)
  2. Haga clic en el archivo y seleccione abrir carpeta, luego elija la carpeta del proyecto en el que está trabajando
  3. Ahora haga clic en Buscar en las pestañas y seleccione buscar en archivos o simplemente haga Ctrl+ Shift+ F (para usuarios de Windows, para usuarios de Mac que ya conocen el ejercicio)
  4. Ahora copie y pegue exactamente el nombre del paquete que desea cambiar en la sección Buscar y pegue en la sección de reemplazo con lo que desea reemplazar el nombre del paquete.
  5. Haga clic en ENCONTRAR (no haga clic en REEMPLAZAR todavía).
  6. Ahora, al hacer clic en Buscar, se enumeran todos los nombres de paquetes disponibles en su proyecto que coinciden con sus criterios de búsqueda, si está satisfecho con esto, repita desde no. 3 pero esta vez haga clic en REEMPLAZAR.
  7. Reconstruye tu proyecto y diviértete

Conclusión: un simple programa de búsqueda y reemplazo es todo lo que necesita para solucionar este problema, y ​​le recomiendo Sublime Text 3 para eso.

Amos Mensah Kyei
fuente