Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


¿Cómo puedo adjuntar archivos de recursos de cadena diferentes durante las versiones de lanzamiento y depuración de hormigas android?

Quiero adjuntar archivos de recursos de cadena diferentes durante las versiones de lanzamiento y depuración de ant android. Necesito esto para tener la configuración separada para la llave del api del mapa, el anfitrión alejado etc

  • Cómo obtener un mapa de bits de un dibujable definido en un xml?
  • Cómo filtrar correctamente Paquete reemplazado broadcast
  • Cancelación de pedidos en las compras de prueba de IAB de Google Play después del 20 de junio de 2016
  • Abrir aplicación en Google Play desde un enlace de redireccionamiento
  • Cómo utilizar signalr en Android
  • PACKAGE_REMOVED y luego PACKAGE_ADDED se disparan junto con PACKAGE_REPLACED Intent Action
  • Animación de escala de Android en la vista
  • Eclipse está diciendo "Actualizar Android Developer Toolkit"
  • Bucle infinito, ¿cómo saber en Eclipse qué código se está ejecutando ahora?
  • ¿Cómo detener el flash de la cámara al activar el enfoque automático?
  • Emulador de Android: Error de instalación: INSTALL_FAILED_VERSION_DOWNGRADE
  • Reproducción de audio html5 en el navegador android
  • 3 Solutions collect form web for “¿Cómo puedo adjuntar archivos de recursos de cadena diferentes durante las versiones de lanzamiento y depuración de hormigas android?”

    Utilizo Eclipse para las compilaciones diarias de la depuración, después Ant para las ediciones de la versión. Tengo versiones de depuración y lanzamiento del archivo que contiene la clave de la API de Google Maps. He modificado el build.xml (estoy en las herramientas SDK R15) para hacer alguna copia del archivo apropiado antes de la construcción y después. He cambiado los objetivos -pre-build y release como así:

    <target name="-pre-build"> <echo message="In pre build-----------------------------------" /> <echo message="build target ${build.target}" /> <if condition="${build.is.packaging.debug}"> <then> <echo>Copying debug api key************************************</echo> <copy file="${layout.dir}/googlemapdebug.xml" tofile="${layout.dir}/googlemap.xml" overwrite="true" /> </then> <else> <echo>Copying RELEASE api key************************************</echo> <copy file="${layout.dir}/googlemaprelease.xml" tofile="${layout.dir}/googlemap.xml" overwrite="true" /> </else> </if> </target> <target name="release" depends="clean, -set-release-mode, -release-obfuscation-check, -package, -release-prompt-for-password, -release-nosign" ............. LINES OMITTED ............. <!-- Zip aligns the APK --> <zipalign-helper in.package="${out.unaligned.file}" out.package="${out.final.file}" /> <echo>Release Package: ${out.final.file}</echo> <echo>Always copy DEBUG MAPS API file back for Eclipse **********************</echo> <copy file="${layout.dir}/googlemapdebug.xml" tofile="${layout.dir}/googlemap.xml" overwrite="true" /> </sequential> </do-only-if-not-library> <record-build-info /> </target> 

    Defino layout.dir en el archivo ant.properties (nuevo nombre para build.properties después de SDK Tools 14):

     projectname=MyProject workspace.dir=/dev/projects/EclipseIndigo/AndroidWorkTwo base.dir=${workspace.dir}/${projectname} layout.dir=${base.dir}/res/layout 

    Usted podría adaptar esto para satisfacer sus necesidades, asumiendo que usted no tiene demasiados archivos para intercambiar adentro y hacia fuera. Supongo que podría agregar una propiedad para el directorio que contiene sus strings.xml

    Nick, no entiendo por qué también reescribes la tarea de lanzamiento. He añadido prebuild solamente y funciona para mí

     <target name="-pre-build"> <if condition="${build.is.packaging.debug}"> <then> <echo>Copying debug config</echo> <copy file="./config/debug.xml" tofile="./res/values/config.xml" overwrite="true"/> </then> <else> <echo>Copying release config</echo> <copy file="./config/release.xml" tofile="./res/values/config.xml" overwrite="true"/> </else> </if> </target> 

    Las dos respuestas están basadas en Eclipse ADT . Ahora Android Studio es el IDE más popular, puede aprovechar el sistema de gradle de gradle .

    En el archivo build.gradle , agregue el código siguiente en la etiqueta android :

     buildTypes { release { buildConfigField "boolean", "LOG_DEBUG", "false" resValue "string", "some_key", "AAAAAAA" } debug { buildConfigField "boolean", "LOG_DEBUG", "true" resValue "string", "some_key", "BBBBBBB" applicationVariants.all { variant -> variant.outputs.each { output -> output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace(".apk", "-" + defaultConfig.versionName + ".apk")) } } } } 

    Puede utilizar BuildConfig.LOG_DEBUG como un valor boolean en su código Java. Sólo recuerde import your.package.name.BuildConfig;

    También puede utilizar some_key como un recurso de cadena. El código Java de su uso es: R.string.some_key .

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.