使用mm/mmm 准备工作

source build/envsetup.sh

在这个shell脚本中定义了 help, croot, m, mm, mmm等

1. 问题 
有时我们只修改了个别文件,如何将修改快速地加进Image. 比如我们在RK2918的项目中修改了文件: 
/frameworks/base/services/java/com/android/server/ WindowManagerService.java 那我们只要执行以下命令即可: 
cd frameworks/base/services/java/com/android/server/ mm 
 ./mkimage.sh 
2. 但我们在执行命令mm时,出现了以下错误提示: The program 'mm' can be found in the following packages:  * mountmanager  * multimail 
Try: apt-get install <selected package>  
2.1 android
下m、mm、mmm编译命令的使用 
通过查看android源码目录下的build/envsetup.sh文件,可知: 
- m:       Makes from the top of the tree. 
- mm:      Builds all of the modules in the current directory. - mmm:     Builds all of the modules in the supplied directories.  
要想使用这些命令,首先需要在android源码根目录执行. build/envsetup.sh  
m:编译所有的模块 
mm:编译当前目录下的模块,当前目录下要有Android.mk文件 mmm:编译指定路径下的模块,指定路径下要有Android.mk文件 
 
下面举个例子说明,假设我要编译android下的libjpeg模块,当前目录为源码根目录,方法如下: 
 
1、. build/envsetup.sh 2、mmm external/jpeg/  
或者 : 
 
1、. build/envsetup.sh 2、cd external/jpeg 3、mm 
 
最后说明一下,envsetup.sh只要source一次就够了,source之后还可以用croot命令返回到源码根目录,很好用。

### 如何在 React 中使用 Day.js 进行日期时间操作 #### 安装依赖项 为了能够在 React 项目中使用 Day.js,首先需要安装 `dayjs` 和其他可能需要用到的插件。通常情况下只需要安装核心包即可。 ```bash npm install dayjs ``` 如果要扩展功能,比如支持相对时间显示,则还需要额外安装对应的模块: ```bash npm install dayjs/plugin/relativeTime ``` #### 导入并初始化 Day.js 插件 当引入特定的功能插件之后,在应用启动的地方(通常是入口文件或全局配置文件),应该先导入这些插件,并通过调用 `.extend()` 方法来激活它们。 ```javascript import dayjs from 'dayjs'; // 加载相对时间插件作为例子 import relativeTime from 'dayjs/plugin/relativeTime'; dayjs.extend(relativeTime); ``` #### 使用自定义解析格式 对于一些特殊的业务场景下使用的非标准日期字符串,可以通过设置自定义解析规则来进行转换。这一步骤同样是在项目的初期完成配置工作。 ```javascript const CUSTOM_DATE_FORMAT = 'YYYY/MM/DD'; // 自定义日期格式 dayjs().format(CUSTOM_DATE_FORMAT); // 将当前时刻按照指定格式输出 ``` #### 创建 Hook 或者 Utility 函数封装逻辑 考虑到代码复用性和维护便利性的因素,建议创建专门处理日期运算的小型 hook 或 utility function 来集中管理所有与 date/time 相关的操作。 ```typescript function useFormattedDate(dateString, formatStr) { const formattedDate = useMemo(() => { return dateString ? dayjs(dateString).format(formatStr) : ''; }, [dateString, formatStr]); return formattedDate; } ``` #### 结合组件状态更新视图 最后就是把上述准备工作结合起来实际应用于具体的 UI 组件当中去了。每当涉及到展示动态变化的时间信息时,记得及时触发重新渲染以反映最新的计算结果。 ```jsx export default function DateComponent({ initialDate }) { const formatDate = useFormattedDate(initialDate, 'MMM D YYYY'); useEffect(() => { console.log(`The component has been mounted with the date ${formatDate}`); }, []); return ( <div> Formatted Date: {formatDate} </div> ); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值