Configurar Eclipse para usar el almacén de claves firmado

Finalmente he creado un almacén de claves "final" para mi aplicación. Como mi aplicación está utilizando Google Maps, tengo que actualizar todos los diseños para utilizar la nueva clave de la API resultante de la aplicación también.

Ahora estoy plenamente consciente del requisito de exportar un APK firmado para su lanzamiento, pero ¿qué pasa después? Mis pensamientos son que para un mayor desarrollo y pruebas, sería más fácil si pudiera configurar Eclipse para usar mi almacén de claves final en lugar de depurar el almacén de claves … pero no encontré manera de hacer eso? Sólo me permite configurar una clave de depuración "alternativa", pero supongo que no es lo mismo.

Lo siento si estoy demasiado confundido si he entendido mal algo aquí.

He podido utilizar mi almacén de claves de Google Play como mi almacén de claves de depuración personalizado para ayudar con la depuración de la funcionalidad de compra en la aplicación. Lo mismo podría aplicarse sin duda a la depuración de Google Maps cosas también.

Como Devunwired mencionó , hay advertencias. Pero mi solución fue la siguiente:

  1. Copie su clave de liberación en algún lugar.
  2. Cambie la contraseña de la llave de la llave / la contraseña de la llave y el alias clave siguiendo las instrucciones aquí (también, siguiendo las recomendaciones de Devunwired para hacer que parezca un almacén de claves de depuración).
  3. Cambiar las preferencias de Eclipse> Android> Construir> Configuración personalizada del almacén de claves en la ruta de la copia realizada en el paso 1.
  4. ¡Hecho!

Puedes configurar un almacén de claves personalizado para usarlo en tus compilaciones de depuración (las que ocurren cuando haces clic en Ejecutar …) en Eclipse yendo a Preferencias -> Android -> Construye e ingresa el nombre del archivo en la opción "Depuración personalizada" .

Sin embargo , tiene la advertencia de que debe seguir las mismas reglas que un almacén de claves de depuración tradicional, principalmente:

  1. La contraseña de keystore debe ser "android"
  2. Debe contener una clave llamada "androiddebugkey"
  3. La contraseña de esa clave debe ser "android"

Por lo tanto, aunque es posible firmar sus aplicaciones en depuración con el mismo almacén de claves que Exportar con, requiere que su almacén de claves de producción se vea como un almacén de depuración, lo que lo hace menos seguro si alguien obtiene ahold si el archivo (sería más fácil Para inspeccionar y adivinar las contraseñas).

HTH

Para que Eclipse pueda firmar automáticamente cuando se implementa, debe configurar un almacén de claves que se comporte como el depurador de claves. Esto significa que debe haber un 'androiddebugkey' y la clave y keystore contraseña debe ser 'android'. Por lo tanto, recomiendo lo siguiente:

  1. Hacer una copia de su almacén de claves, copié el mío en un archivo llamado iap.keystore
  2. Abrir terminal / ventana de comandos con keytool en la ruta (para mí la ruta de acceso es D: \ NVPACK \ jdk1.6.0_45 \ bin \ keytool.exe) o utilizar el camino completo para keystore en los comandos a continuación
  3. Cambiar la contraseña de keystore a 'android':
    • keytool -storepasswd -keystore iap.keystore
    • Siga las instrucciones para ingresar su antigua contraseña de keystore
    • Siga las instrucciones para ingresar a android como la nueva contraseña
    • Seguir la solicitud para confirmar android como contraseña
  4. Cambie el nombre de su clave a androiddebugkey ( reemplace Old_Key_Store_Name por su nombre de clave actual en el siguiente comando)
    • keytool -changealias -keystore iap.keystore -alias Old_Key_Store_Name -destalias androiddebugkey
    • Siga las instrucciones para ingresar su contraseña de keystore (que ahora es andorid )
    • Siga las instrucciones para ingresar su contraseña Old_Key_Store_Name (esto es lo que antes tenía su contraseña clave establecida en)
  5. Cambiar la contraseña de su androiddebugkey
    • keytool -keypasswd -keystore iap.keystore -alias androiddebugkey
    • Siga las instrucciones para ingresar su contraseña de keystore (que ahora es andorid )
    • Siga las instrucciones para ingresar su contraseña de androiddebugkey (esto es lo que antes tenía su contraseña clave establecida en)
    • Siga las instrucciones para ingresar a android como la nueva contraseña clave
    • Seguir la solicitud para confirmar android como contraseña clave
  6. Ahora tiene un almacén de claves (con clave) que Eclipse puede usar para firmar automáticamente constructores.
  7. Cargue Eclipse.
  8. Ventana -> Preferencias -> Android -> Construir
  9. Siga "Custom debug keystore" y busque el archivo iap.keystore que creamos anteriormente
  10. DE ACUERDO

Ahora, cuando inicie / depure su proyecto, utilizará el almacén de claves que acabamos de configurar para firmar su proyecto. Esto permitirá que cosas como IAP funcionen.

CUIDADO: esto es conveniente, pero por supuesto si alguien se apodera de su iap.keystore podrán firmar cosas como usted usando 'android' como keystore / key password. Esperemos que esto es, obviamente, de los pasos enumerados anteriormente, pero sólo tomar un segundo para apreciar lo que esto significa para usted (o su empresa). A continuación, basándose en que decidir si los riesgos son aceptables, y si necesita llevar a cabo cualquier medida adicional para garantizar la seguridad de este archivo.

Establecemos el keystore personalizado para usarlo en nuestras compilaciones de depuración. Eclipse Ir a Preferencias -> Android -> Construir y ent el nombre del archivo en la "Custom debug keystore".

Importante cuando creamos nuestro almacén de claves para la aduana de eclipse:

La contraseña de keystore debe ser "android" Debe contener una clave llamada "androiddebugkey" La contraseña de esa clave debe ser "android" Por lo tanto, aunque es posible firmar sus aplicaciones en depuración con el mismo almacén de claves que con Exportar, Keystore para que parezca una tienda de depuración, lo que hace que sea menos seguro si alguien tiene ahold si el archivo (sería más fácil de inspeccionar y adivinar las contraseñas).

Si queremos cambiar la contraseña de keystore: $ keytool -storepasswd -keystore my.keystore

Si queremos cambiar la contraseña del alias de keystore: $ keytool -keypasswd -keystore my.keystore -alias mi_nombre

Si queremos cambiar el alias del keystore: $ keytool -changealias -keystore my.keystore -alias mi_nombre -destalias my_new_name

Vkj Introduzca aquí la descripción de la imagen

Aquí hay las instrucciones para convertir un almacén de claves regular en un depurador de claves: https://stackoverflow.com/a/15754187/917362

Puede ingresar su depuración y su versión SHA1 para la misma clave de la API de Google usando la Consola de desarrolladores de Google (console.developers.google.com).

De esta forma, tendrá la misma clave de API para ambos y ya no tendrá que cambiarla en AndroidManifest.xml.

Tenemos el mismo problema hace algún tiempo en nuestra oficina. Dado que necesitábamos esto con bastante frecuencia, escribimos un script simple para facilitar la conversión de keystores de liberación a los de depuración.

El script está disponible en https://github.com/IntellexApps/key2debug

Lo estamos utilizando desde hace algún tiempo, por lo que debe ser bastante estable.

¡aclamaciones!

  • Hash clave para Facebook Android SDK
  • Archivo de Keystore de Android perdido
  • ¿Cómo puedo crear un almacén de claves?
  • Reemplazar la aplicación de Android que tiene el mismo nombre de paquete pero nueva keystore
  • Implementación de Android KeyStore para <4.3
  • No hay debug.keystore en la carpeta .android
  • Android keystore dejó de funcionar
  • Error de lectura: error en la biblioteca SSL, generalmente un error de protocolo
  • Android: Tienda SecretKey en KeyStore
  • Cómo entregar el código de la aplicación de Android a otro desarrollador: administración de la gestión de claves
  • Firmar un apk como sistema usando las claves encontradas en source / build / target / product / security /
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.