Как программно читать дату создания Android-приложения Android?

Возможно ли запрограммировать дату, когда был создан мой Android-апк? Я не смог найти ничего в классе PackageInfo.

Я хочу, чтобы истечь бета-версии моего приложения, и самым простым способом было бы зачитать такую ​​дату и закончить ее после предварительного префикса дней, поэтому мне не нужно обновлять код для этого времени, когда я создам и развертываю бета-версия.

Solutions Collecting From Web of "Как программно читать дату создания Android-приложения Android?"

Прошло некоторое время с тех пор, как это было задано, но вот как я это сделал, используя Android Studio w / gradle ….

В build.gradle каждый из ваших типов сборки должен иметь buildConfigField . (Это упрощенная версия конфигурации – у вас, вероятно, есть другие вещи здесь, но я хотел показать, где вы ее положили):

 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)" } } } } 

(Обратите внимание, что « BuildConfigField » – это новая версия « BuildConfigLine » с системой сборки 0.8.0.)

В следующий раз, когда gradle выполняет сборкуRelease или assembleDebug, она должна генерировать:

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

Далее, внутри этого файла BuildConfig вы должны увидеть, что что-то было создано автоматически:

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

Итак, чтобы получить доступ к дате сборки в вашем приложении ….

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

(Вы можете форматировать дату, как вам нравится, используя SimpleDateFormat .)

Надеюсь, это полезно.