¿Dónde colocar la clave API? Recursos, Meta-datos en Manifiesto o variable estática?

Estoy tratando de averiguar cuál es la mejor práctica para agregar la clave de la API en mi aplicación de Android.

-Algunas personas recomiendan usar meta-data en el archivo Manifest.xml – enlace . Lo que me hizo sentir como, es mejor que la adición de la clave en los archivos de resources .

 <meta-data android:value="key_value" android:name="api_key"></meta-data> 

-Algunas personas dicen, agrega en los resources – enlace

 <string name="api_key">api_key_value</string"> 

-Podemos añadirla sencillamente dentro del código de la clase

 api.configue("api_key_value"); 

-Algunas personas dicen que añadir las claves en el Manifest.xml y los archivos de resources permitirá a las otras aplicaciones para leerlo – enlace .

 <string name="foo">bar</string"> 

No estoy tratando de encontrar la mejor forma segura, porque para mí me gustaría guardar la clave en mi servidor y recuperar en el tiempo de ejecución.

Estoy preguntando sobre el mejor enfoque a seguir y la mejor práctica para eso.

Gracias por adelantado.

No he seguido la pregunta, ya que parece que ya determinó qué hacer con la clave de la API (en el servidor).

Un gran artículo sobre las claves API posibles escondites en Android: http://www.androidauthority.com/how-to-hide-your-api-key-in-android-600583/

En su caso, ya que va a recuperar la clave durante el tiempo de ejecución desde el servidor, yo seguiría # 4: Clave de API Intercambio de clave pública / privada del artículo, pero puede ser engorroso.

También, consideraría el acercamiento de NDK ( # 3 del artículo ). Es muy simple como un enfoque de cliente.

  • Android Studio fail add libs Cargador de imágenes universal
  • Android Studio: Error en la instalación de la aplicación
  • La ejecución falló para la tarea ': app: processDebugResources' incluso con las últimas herramientas de compilación
  • Aplicación de error de ejecución: processDebugResources Android Studio
  • Android Studio no ve genymotion
  • Android Studio - Gradle - Construcción de proyectos múltiples con dependencias anidadas
  • El registro de LibGDX no aparece en logcat
  • Actualización de Android Studio a 1.0 corrompe MultiDex
  • Crear una plantilla personalizada para Android Studio
  • ¿Cómo ocultar el teclado sólo con un toque fuera de un edittext?
  • Android Studio no puede encontrar mis recursos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.