Android Eclipse时间戳编译器

Android Eclipse时间戳编译器,android,eclipse,date,time,compile-time,Android,Eclipse,Date,Time,Compile Time,我正在Linux上使用EclipseforAndroidSDK,并正在寻找一种方法,将编译的日期和开始时间添加到一个xml文件中。我希望在设备上看到我正在使用的构建版本,而无需在每个编译步骤之前手动更新这些信息 到目前为止,通过搜索网络,我只找到了“使用蚂蚁”之类的提示 我想我必须使用/proc/driver/rtc,这是一个由linux内核提供的动态“文件”,其中包含实时更新的行,以冒号分隔的文本命名,例如“rtc_date”和“rtc_time”。包括它,并使用设备上的应用程序提取信息 有更

我正在Linux上使用EclipseforAndroidSDK,并正在寻找一种方法,将编译的日期和开始时间添加到一个xml文件中。我希望在设备上看到我正在使用的构建版本,而无需在每个编译步骤之前手动更新这些信息

到目前为止,通过搜索网络,我只找到了“使用蚂蚁”之类的提示

我想我必须使用/proc/driver/rtc,这是一个由linux内核提供的动态“文件”,其中包含实时更新的行,以冒号分隔的文本命名,例如“rtc_date”和“rtc_time”。包括它,并使用设备上的应用程序提取信息

有更好的办法吗?比如通过知道时间或者从proc中剥离信息并在编译时将其放入xml文件中来使用eclipse

这是我第一次使用eclipse,所以如果我问了一些明显或不可能的问题,请原谅

问候
ct

我使用这段代码来获取应用程序构建时间。我知道这不是输出到XML,但如果您试图在应用程序构建时获取,这应该可以工作

private long getAppBuildTime() {
    if(cachedAppBuildTime == null) {
        try{
            ApplicationInfo ai = appContext.getPackageManager().getApplicationInfo(appContext.getPackageName(), 0);
            ZipFile zf = new ZipFile(ai.sourceDir);
            ZipEntry ze = zf.getEntry("classes.dex");
            cachedAppBuildTime = ze.getTime();
            log("app build time " + cachedAppBuildTime);
        }catch(Throwable t){
            return 1;
        }
    }
    return cachedAppBuildTime;
}

代码中的
appContext
变量是通过
context.getApplicationContext()

获取的,我使用与yigit相同的策略,只是我更喜欢MANIFEST.MF文件。 即使修改了布局(classes.dex的情况并非如此),也会重新生成该布局

它会产生以下代码:

private long mAppBuildTime = -1;

public long getAppBuildTime() {
  if (mAppBuildTime == -1) {
    try{
      ApplicationInfo ai = getPackageManager().getApplicationInfo(getPackageName(), 0);
      ZipFile zf = new ZipFile(ai.sourceDir);
      ZipEntry ze = zf.getEntry("META-INF/MANIFEST.MF");
      mAppBuildTime = ze.getTime();
      zf.close();
    }catch(Exception e){
    }
  }
  return mAppBuildTime;
}

谢谢!我对它做了一点修改,工作起来和我希望的完全一样。