¿Cómo leer por programación la fecha en que mi apk de Android fue construido?

¿Es posible leer programáticamente la fecha en que se construyó mi apk de Android? No pude encontrar nada en la clase PackageInfo.

Quiero expirar las versiones beta de mi aplicación y la forma más fácil sería leer una fecha así y expirar después de un prefijo de días, por lo que no tengo que actualizar el código para que cada vez que construir y desplegar un versión beta.

One Solution collect form web for “¿Cómo leer por programación la fecha en que mi apk de Android fue construido?”

Ha sido un tiempo desde que se le preguntó, pero aquí es cómo lo hice con Android Studio w / gradle ….

En build.gradle , cada uno de los tipos de compilación debe tener un buildConfigField . (Esta es una versión simplificada de la configuración, es probable que tenga otras cosas aquí, pero quería mostrar dónde la puso):

 android { signingConfigs { buildTypes { debug { buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + System.currentTimeMillis() + "L)" } release { buildConfigField "java.util.Date", "buildTime", "new java.util.Date(" + System.currentTimeMillis() + "L)" } } } } 

(Tenga en cuenta que " BuildConfigField " es la versión más reciente de " BuildConfigLine " a partir del sistema de compilación 0.8.0).

La siguiente vez que gradle ensambla o ensambla Debug, debería generar:

./build/source/buildConfig/releaseORdebug/com/your/project/BuildConfig.java

A continuación, dentro de ese archivo BuildConfig , deberías ver que algo se ha generado automáticamente como:

 public final class BuildConfig { public static final java.util.Date buildTime = new java.util.Date(1395794838381L); } 

Por lo tanto, para acceder a la fecha de compilación dentro de su aplicación ….

 Date buildDate = BuildConfig.buildTime; Log.i("MyProgram", "This .apk was built on " + buildDate.toString()); 

(Puede formatear la fecha como desee utilizando un SimpleDateFormat .)

Espero que esto sea útil.

  • Leer WCF REST fecha de android
  • ¿Cómo obtener el número de días entre dos instancia de calendario?
  • Convertir la fecha en milisegundos está dando resultados inconsistentes en Android (java)
  • Fecha y hora de la fecha
  • Restiction de un mes para uso libre de la aplicación
  • ¿Los hilos son lo suficientemente fiables para calcular segundos?
  • Compare las fechas (almacenadas como cadena) en la base de datos android sqlite?
  • Configurar Gson para usar varios formatos de fecha
  • Analizar excepciones en Android
  • Revise la fecha con la fecha de hoy
  • Cómo obtener el valor datepicker en formato de fecha?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.