Hoy vamos a ver cómo cambiar el nombre del Package con Flutter.
Esto es un proceso tedioso por lo que recomiendo mucha atención, ya que puedes cargarte tu proyecto.
Habrá que realizar pasos tanto en Android como en iOS:
Android
Cambiar el package
en AndroidManifest.xml
:
- Navega a
android/app/src/main/AndroidManifest.xml
. - Cambia el valor del atributo
package
en la etiqueta<manifest>
a tu nuevo nombre de paquete.
NOTA: en versiones modernas del SDK Android no viene incluido en manifest el nombre del paquete y no se recomienda añadirlo. Por lo que no tendrás que realizar este paso.
Modificar la estructura de carpetas en Android:
- Si tu antiguo nombre de paquete era
com.ejemplo.miapp
, habrá una estructura de carpetas comoandroid/app/src/main/kotlin/com/ejemplo/miapp
. - Renombra las carpetas
com
,ejemplo
,miapp
según tu nuevo nombre de paquete. Por ejemplo, si el nuevo nombre de paquete escom.nuevo.nombre
, entonces deberías tenerandroid/app/src/main/kotlin/com/nuevo/nombre
.
Actualizar los nombres de los paquetes en los archivos .java
o .kt
:
- Abre los archivos en
android/app/src/main/kotlin/[tu-paquete-viejo]/*.
kt*.java
. - Cambia la declaración del paquete (la línea que comienza con
package
) en estos archivos para que refleje el nuevo nombre del paquete.
package com.nombrepaquete import io.flutter.embedding.android.FlutterActivity class MainActivity: FlutterActivity() { }
Actualizar build.gradle
:
- En
android/app/build.gradle
, busca la propiedadapplicationId
y namespace (en el caso de las versiones nuevas de Android) y actualízala con el nuevo nombre de paquete.
applicationId:
defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.nombrepaquete" // You can update the following values to match your application needs. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. minSdkVersion flutter.minSdkVersion targetSdkVersion flutter.targetSdkVersion versionCode flutterVersionCode.toInteger() versionName flutterVersionName }
namespace:
android { namespace "com.nombrepaquete" ... compileSdkVersion flutter.compileSdkVersion ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } ...
Finalmente para asegurarnos de que está todo, podemos realizar una búsqueda del nombre del paquete antiguo y ver en que archivos sigue estando para poner el nuevo.
iOS
Cambiar el bundle identifier
en Info.plist
:
- Navega a
ios/Runner/Info.plist
. - Cambia el valor de
CFBundleIdentifier
al nuevo nombre de paquete (identificador de bundle). Haz este paso solo si existe ese valor, si está la variable<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
no es necesario realizarlo.
Actualizar el nombre del proyecto en Xcode:
- Abre el proyecto Flutter en Xcode (
ios/Runner.xcworkspace
). - En el panel de la izquierda, selecciona el proyecto
Runner
y luego selecciona la opciónRunner
bajoTARGETS
. - En la pestaña
General
, cambia elBundle Identifier
al nuevo nombre de paquete.
Modificar el Podfile
si es necesario:
- Navega a
ios/Podfile
y asegúrate de que no haya ninguna referencia directa al antiguo nombre de paquete. Si hay, actualízalo.
Actualización final
Limpieza y reconstrucción:
- Una vez realizados estos cambios, limpia y reconstruye el proyecto para asegurarte de que todo esté configurado correctamente:
flutter clean flutter pub get flutter run
Paso Opcional: Verificar en todos los archivos
Puedes buscar en todo el proyecto cualquier referencia al antiguo nombre de paquete utilizando la función de búsqueda en tu editor de texto (por ejemplo, VS Code, IntelliJ, etc.) para asegurarte de que no quede ninguna referencia al antiguo nombre.
Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.