android apk编译时间获取

4 篇文章 0 订阅

android apk编译时间获取

本方法只适用于使用android 源码编译环境。

有时候我们需要在android应用上获取apk的编译时间,但java编译并不像C、C++那样有相应的宏可以在代码中读取到编译时间。我们可以利用android源码编译-linux环境来获取编译时间,然后把获取的时间写到android apk的raw文件中,这样apk启动后就可以通过读取raw文件中的时间来获取编译时间。
Android源码编译apk需要写Android.mk文件,Android.mk文件中可以执行shell命令,利用shell命令获取编译时的时间并且写入到apk资源文件夹res/raw/下的文件即可。

Android.mk:

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

#这里就是把date命令格式化输出到资源文件res/raw/date下的###
$(shell date "+%Y-%m-%d %H:%M:%S" > $(LOCAL_PATH)/res/raw/date)
LOCAL_MODULE_TAGS := optional
##end#####

LOCAL_SRC_FILES := $(call all-java-files-under, src) $(call all-renderscript-files-under, src)

LOCAL_PACKAGE_NAME := MiptFactoryTest
LOCAL_CERTIFICATE := platform

LOCAL_OVERRIDES_PACKAGES := Home

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)

include $(BUILD_MULTI_PREBUILT)

java中通过下面函数读取raw文件获取编译时间:

public String getBuildTime(){
        String content = null;
        Resources resources=mContext.getResources();
        InputStream is=null;
        try{
            is=resources.openRawResource(R.raw.date);
            byte buffer[]=new byte[is.available()];
            is.read(buffer);
            content=new String(buffer);
            Log.i(TAG, "read:"+content);
        }
        catch(IOException e)
        {
            Log.e(TAG, "write file",e);
        }
        finally
        {
            if(is!=null)
            {
                try{
                    is.close();
                }catch(IOException e)
                {
                    Log.e(TAG, "close file",e);
                }
            }
        }
       return content;
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值