2011-03-30 22 views
42

Estoy usando eclipse y creé un proyecto android de prueba y el paquete en la carpeta "gen" que contiene R.java se llama actualmente com.something.test (pensé que solo estaba probando pero construí mi toda la aplicación en él!)Renombrar el paquete que R.java se genera en

Esto se hace referencia al cargar la aplicación y el teléfono a veces lo muestra, así que necesito cambiarle el nombre. Intenté esto haciendo clic en refactor pero lo regeneré nuevamente con el nombre anterior.

¿Puedo cambiar el nombre?

+5

No estoy 100% seguro pero creo que debe cambiar el nombre del paquete de la aplicación en el manifiesto (y luego reconstruir). – bigstones

Respuesta

85

Haga clic derecho en su proyecto, Herramientas continuación Android -> Cambiar nombre Nombre de la aplicación:

enter image description here

O bien, si desea hacerlo de forma manual, vaya a su archivo de manifiesto, cambiar el nombre del paquete, y hacer un Proyecto Limpio

+0

¡Gracias! :) – Bex

+2

bien, pero primero tiene que corregir los errores del proyecto – shareef

+0

Acabo de refactorizar -> Cambié el nombre de mi proyecto, y Eclipse no cambió el nombre del paquete en Manifiesto. ¡Gracias por tu segunda respuesta! –

2

Recibe el nombre del paquete raíz de su aplicación. Si cambia el paquete raíz de su aplicación a otra cosa, R.java existirá en ese paquete ahora.

+2

Esto es incorrecto, está establecido por android: paquete que es diferente al paquete raíz – zode64

19

Compruebe el AndroidManifest.xml, existe un atributo package en el elemento de nivel superior <manifest>. Ahí es donde se genera R.java y debe tener cuidado de cambiarle el nombre.

+0

gracias, me lo perdí por completo – Yohannes

3

Para aquellos que intentan cambiarlo manualmente, las afirmaciones a las que se vincula el archivo R.java son correctas. Si simplemente lo cambia en el manifiesto, obtendrá una secuencia larga de errores "R no se puede resolver" en todos los archivos java que hacen referencia a los recursos. Para corregir eso, necesitará agregar una importación para la clase R en cada uno de esos archivos.

Así que si usted tenía su paquete original como: "com.mycomp.myapp.android" y la ha cambiado a "com.mynewcomp.myapp.android" que tendría que ir a cada archivo de clase Java y añadir:

import com.mynewcomp.myapp.android.R;

Si ejecuta el comando de cambio de nombre sugerido originalmente en el proyecto, esto se hace automáticamente.

0

Refactoré mi paquete uno por uno con Right Click-> Refactor y Android Manifest.XML. Mi archivo R todavía se basaba en el nombre del paquete anterior.

de cierre y apertura del proyecto fija este problema, pero necesitaba ir y hacer un cambio manual en todos mis archivos de Java.

1

Otra cosa que debe comprobar es si tiene vistas personalizadas con espacios de nombres xml. Me tomó un minuto darme cuenta de que tenía que cambiar el atributo xmlns.

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:myxmlnamespace="http://schemas.android.com/apk/res/com.mynew.packagename" 
    ... 
1

Sé que es una vieja pregunta, pero la necesitaba ahora y tal vez alguien más la necesita también. estoy usando Android 2.1.1 Estudio

para hacerlo funcionar que tenía que cambiar:

  • paquete - en AndroidManifest.xml
  • applicationId - en construcción.Gradle de la carpeta de aplicación

De esta manera no hubo necesidad de importar R en toda clase de Java.

Es importante recordar que esto no es un cambio habitual y no debe hacerse siempre.

El enlace applicationId vs. package name explica la diferencia entre ellos y por qué no se deben cambiar.

Cuestiones relacionadas