Android客制化-恢复出厂设置但保留文件
很久没有记录了,持之以恒做一件事,需要一定的毅力呐! 最近遇到了一个需求,要求恢复出厂设置保留内置sd卡下某个目录的文件。思来想去,从驱动那边备份校准信号文件得到了一些思路。因为带通话设置的装置需要进行校准,我们会将校准的文件保存在/data下。具体做法呢,在执行恢复出厂设置时,将此文件copy到tmp分区,然后在恢复完成时,再次copy回/data分区。因为我们是备份文件夹,所以我们需要对copy函数进行修改。下面贴出部分代码。
diff --git a/bootable/recovery
Android.mk 添加打印信息
版权声明:关注微信公众号:嵌入式Linux QQ群:69759006 了解更多嵌入式方面知识 https://blog.csdn.net/weiqifa0/article/details/83620178
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use
Linux Shell 重定向到文件以当前时间命名
版权声明:关注微信公众号:嵌入式Linux QQ群:69759006 了解更多嵌入式方面知识 https://blog.csdn.net/weiqifa0/article/details/83620340 我们经常在编译的时候,需要把编译的过程日志保留下来,这时候这个命令就非常重要了。 make |tee xxx_$(date +%y%m%d%H%M%S).txt
让vim显示空格,及tab字符
版权声明:关注微信公众号:嵌入式Linux QQ群:69759006 了解更多嵌入式方面知识 https://blog.csdn.net/weiqifa0/article/details/83691007 1、显示 TAB 键 文件中有 TAB 键的时候,你是看不见的。要把它显示出来: :set list 现在 TAB 键显示为 ^I,而 $显示在每行的结尾,以便你能找到可能会被你忽略的空白字符在哪里。 这样做的一个缺点是在有很多 TAB 的时候看起来很丑。如果你使用一个有颜色的终端,或者使用
Windows环境下的安装gcc
版权声明:关注微信公众号:嵌入式Linux QQ群:69759006 了解更多嵌入式方面知识 https://blog.csdn.net/weiqifa0/article/details/83692241 Windows具有良好的界面和丰富的工具,所以目前linux开发的流程是,windows下完成编码工作,linux上实现编译工作。 为了提高工作效率,有必要在windows环境下搭建一套gcc,gdb,make环境。 MinGW就是windows下gcc的版本。 下载地址http://sou
RK3399 编译recovery
版权声明:关注微信公众号:嵌入式Linux QQ群:69759006 了解更多嵌入式方面知识 https://blog.csdn.net/weiqifa0/article/details/83748490
#!/bin/bash
set -e
. build/envsetup.sh >/dev/null && setpaths
export PATH=$ANDROID_BUILD_PATHS:$PATH
TARGET_PRODUCT=`get_build_var TARGET_PRODU
Secure CRT 自动记录日志
版权声明:关注微信公众号:嵌入式Linux QQ群:69759006 了解更多嵌入式方面知识 https://blog.csdn.net/weiqifa0/article/details/83752108 配置自动log操作如下: 1.options ---> Global Options 2、General->Default Session->Edit Default Settings 3、Terminal->Log File 设置如图上所示 点击 日志 ,在选项框中 Log file na
C 实现 删除字符串空白符的函数 strtrim
版权声明:关注微信公众号:嵌入式Linux QQ群:69759006 了解更多嵌入式方面知识 https://blog.csdn.net/weiqifa0/article/details/83993501 说在前面的话 字符串操作在很多C语言比赛里面都有涉及,最近公众号里面的C语言比赛,都是两个关于字符串操作的题目,希望大家认真看题目。 直接上代码 /************************************************************************
用VS2017 Xamarin 开发Andriod Bluetooth APP 历程记录
用VS2017 Xamarin 开发Andriod Bluetooth APP 历程记录 入门新手 Bluetooth 瞭望 入门新手 作为一个漫长的软件开发项目经理以后, 代码丢的生了,新技术也丢的生了. 终于辞职以后, 有了大把的时间了, 做了20年IT, 浪了一段时间, 其他技能好像已经不适应了, 就还是捡起代码来的有感觉些, 踏实些, 这就是命! 来吧开发一个andriod 蓝牙app来玩玩吧. 作为一个C#背景的人来讲, 选中Xamarin.Forms作为开端, VS2017下载安装
axios在vue中的应用(一)—— 简单调用
目录 1. 安装并引入axios 1.1 使用 npm/cnpm 安装 1.2 在main.js文件中引入axios 2. 使用axios请求本地json文件 3. 将传递的json数据转为FormData 3.1 引入qs 3.2 添加请求拦截器,将axios参数转化为FormData形式 4. 设置请求头 Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 1. 安装并引入axios 1.1 使用 npm/cnpm 安装
npm instal
vue项目执行npm i 安装依赖包常见问题
目录 1. Downloading https://chromedriver.storage.googleapis.com/2.41/chromedriver_window32...报错 2. 待续... 1. Downloading https://chromedriver.storage.googleapis.com/2.41/chromedriver_window32...报错 在使用 vue init 初始化项目之后,使用 npm i 装包;或者是查看别人的项目时安装依赖包的时候,有时
CSS自定义select选择框样式(右侧下拉箭头)
如图:自定义select的箭头样式 HTML以及CSS代码如下:
<select class="form_select">
<option value="0">请选择</option>
<option value="1">aaaaa</option>
<option value="2">bbbbb</option>
</select>
.form_select {
/* 清除默认边框 */
border: 0;
/* 清除默认的箭头样式 */
axios在vue中的应用(二)—— 表单提交上传图片
使用axios实现图片预览、图片上传等功能:
methods: {
// 图片预览
priviewImg(e) {
// ...
},
// 提交表单
sumitRefund() {
let fd = new FormData();
fd.append("reason", this.refundReason);
fd.append("money", this.refundMoney);
JavaScript格式化时间与日期
1. Date 对象方法 toLocaleString() 根据本地时间格式,把 Date 对象转换为字符串。 "2018/10/8 上午8:00:00" toLocaleTimeString() 根据本地时间格式,把 Date 对象的时间部分转换为字符串。 "上午8:00:00" toLocaleDateString() 根据本地时间格式,把 Date 对象的日期部分转换为字符串。 "2018/10/8"
new Date('2018-10-08').toLocaleTimeString(
vue+webpack配置问题总结
目录 1. 配置热更新&自动打开浏览器 方法一:修改 package.json 文件 方法二:修改 webpack.config.js 文件 2. npm run build 生成的map文件配置 1. 配置热更新&自动打开浏览器 实现自动打开浏览器、热更新和配置浏览器的默认端口号 方法一:修改 package.json 文件 方法二:修改 webpack.config.js 文件 PS:用vue init一键生成的项目,以上变量的配置位置在 config/index.js中 2. npm r
Vue.js(四)—— Vue的生命周期
看过vue官网以及一些讲述vue生命周期的文章,还是决定自己总结一下,便于理解: 生命周期:每个 Vue 实例在被创建时都要经过一系列的初始化过程——开始创建、初始化数据、编译模板、挂载Dom、渲染页面→更新→重新渲染、销毁等,也就是就是Vue实例从创建到销毁的过程,成为生命周期。
Vue.js(五)—— Vue基础组件的自动化全局注册
在使用vue构建项目的过程中,我们会设置一些通用的组件,他可能只包含了一个按钮或者其他的一个小功能,但是会被我们在不同的组件页面频繁调用。此时若是每一个组件页面都进行引用,将会有很多重复冗杂的代码,可以改为全局注册。具体如下: 1. 将这些通用基础组件放置在同一个文件夹下:如 components/baseComponents/ 2. 在应用入口文件中全局导入(如:main.js),以下是官方示例代码,稍微做了修改:
// 全局导入组件
const requireComponent = re
Vue.js(六)—— 组件:slot用法
目录 一、默认情况下(不使用slot) 二、单个slot 三、具名slot 四、编译作用域 五、默认插槽的内容 六、作用域插槽 七、访问slot Vue 实现了一套内容分发的 API,将 <slot> 元素作为承载分发内容的出口。 简单来讲:默认情况下我们在父组件中加入到子组件的DOM是不会显示的,但是如果我们需要插入一段DOM,那么这段DOM是否显示,如何显示,显示在什么位置,就需要使用slot内容分发。 一、默认情况下(不使用slot) 正常情况下我们在引用子组件时另加的标签是不会展示的,
表单验证——input和required冲突解决
1. input和required冲突解决 Question: 使用表单提交验证必填字段时,若同时给 input[type="file"] 添加 readonly 以及 required 属性,则发现,required必填验证失效,既不会提示必填,也可以成功提交。 解决方法:将 readonly 改为 onfocus="this.blur()"
<input type="text" name="endDate" onfocus="this.blur()" required autocompl
今日推荐
周排行