网上很多说改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,这个文件应该不会有被删除的风险。