网上很多说改gradle脚本实现,测试了,这种方法行不通,它生成的时间是BuildConfig.java刷新的时间,刷新后不会改变。也就是点击菜单"Sync Project with Gradle Files"的时间。
defaultConfig {
....
buildConfigField "long", "BUILD_TIME", System.currentTimeMillis() + "L"
}
以下方法也是从网上找的,有的说android 5之后不能用。我测试的,没有这种问题。
ApplicationInfo appInfo = getPackageManager().getApplicationInfo(getPackageName(), 0);
File sourceFile = new File(appInfo.sourceDir);
long builtAt = sourceFile.lastModified();
它获取文件/data/app/your_package_name-TIhxmLc5u8gU_TuJOE27KQ==/base.apk的修改时间,也就是发布打包的时间,此文件不会有被删除的风险。