linux
Amosstan
一枚快乐的CODER~~
展开
-
C语言获取随机mac
在某些项目中,需要通过随机数的方式获取随机mac。下面记录一下方法。原创 2023-03-07 11:02:23 · 34403 阅读 · 1 评论 -
Ubuntu禁止内核更新
某些开发场景下,Ubuntu内核的更新会引入新的编译问题,这个时候就需要我们禁止内核更新。原创 2022-01-13 11:44:36 · 119046 阅读 · 0 评论 -
Linux shell下date格式化输入日期
Linux date命令可以用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。原创 2021-12-24 16:29:39 · 122233 阅读 · 0 评论 -
Ubuntu提示W: Possible missing firmware xxx解决方法
一、问题现象当执行 sudo apt-get update或者sudo apt-get dist-upgrade时,有如下警告:W: Possible missing firmware /lib/firmware/rtl_nic/rtl8125a-3.fw for module r8169W: Possible missing firmware /lib/firmware/rtl_nic/rtl8168fp-3.fw for module r8169实际上是缺少固件文件导致的。二、解决方法去原创 2021-12-03 09:14:51 · 118181 阅读 · 0 评论 -
Android init.rc中vold socket语法简介
一、 前言本篇文章以Android4.4代码为例,简单说明init.rc中vold里面socket语法的使用。二、语法简介2.1 init.rc位置init.rc文件位置:/system/core/rootdir/init.rc2.2 vold代码块位置service vold /system/bin/vold class core socket vold stream 0660 root mount ioprio be 22.3 socket语法socket &l原创 2021-09-01 17:24:50 · 173094 阅读 · 0 评论 -
Android用readdir()函数读取exfat格式U盘文件返回的d_type为空的问题
一、前言Android4.4上面,用readdir()函数读取exfat格式的U盘文件后,在返回的dirent结构体中,有关读取文件的类型d_type值为空。二、问题分析这个有个可能是exfat文件在挂载时,相应的结构体没有填充导致。三、解决方法有两种解决方法,一种是用stat()函数,具体方式参照/frameworks/av/media/libmedia/MediaScanner.cpp中对位置文件类型处理方式进行处理。代码如下:MediaScanResult MediaScanner::do原创 2021-07-06 14:06:01 · 182971 阅读 · 0 评论 -
Linux下对硬盘或U盘进行分区及格式化 -- fdisk及mkfs命令的使用
一、前言对硬盘或者U盘设备进行分区及格式化,适用于以下情况:用UltraISO软碟通对U盘进行过烧录windows及其他系统,U盘的分区表会变为sda4,想改为sda1的。有时候因为某些操作,会导致硬盘或U盘的分区表损坏,导致设备挂载异常。想修改分区表的编号。其它情况。二、查看分区的命令df -hfdisk -llsblk三、fdisk命令简介输入 fdisk /dev/sde (设备节点)后,接着输入mroot@dell:~# fdisk /dev/sd原创 2021-06-25 21:48:16 · 187434 阅读 · 1 评论 -
adb push多个文件至系统中
1. 前言在adb push chromium编译出来的库时,总共有200多个文件需要push到/system/lib下,挨个push太麻烦,于是写一个脚本放到需要push文件的目录下,可以批量push文件至系统中。2. 方法原理就是遍历目录下的文件并挨个push,如下脚本所示:#! /bin/bashadb remountSO_LIST=($(ls *.so))for i in "${!SO_LIST[@]}";do so_name=${SO_LIST[$i]} ec原创 2021-02-09 16:01:53 · 224206 阅读 · 0 评论 -
Android源码编译速度优化 -- ccache设置
1. 前言Android源码编译时,设置ccache可有效的降低编译时间。谷歌给出的指导方法(优化编译环境章节):点击进入2. 方法要想长久方便使用,需要将以下环境 变量写入/etc/profile或者~/.bashrc中export USE_CCACHE=1export CCACHE_DIR=/<path_of_your_choice>/.ccache其中<path_of_your_choice>是要设置ccache缓存的目录,如果不设置,则默认缓存到~/.ccac原创 2021-02-04 16:38:36 · 220882 阅读 · 0 评论 -
CentOS7 ssh/sftp登录慢解决方法
centos7上遇到ssh/sftp登录慢解决方法,经过查找发现是其中的ssh配置的问题,解决方法如下:1.以root用户登录su2.备份配置文件cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak3.编辑配置文件vi /etc/ssh/sshd_config 修改内容:a.输入 / ,查找GSSAPIAuthentication 赋值为nob.输入 /,查找UseDNS,赋值为 no(该项默认不启用的,要把前面的#删除掉)4.最后输入!原创 2021-01-28 14:27:10 · 217873 阅读 · 2 评论 -
AOSP源码下载
1.说明由于一些原因,利用谷歌的资源下载Android源码速度很慢,我们可以用清华源里面的资源进行下载。清华源AOSP配置下载地址详解:Android 镜像使用帮助2.源码下载示例由于清华源中给出很清晰的配置下载方法,这儿只做几条总结:A.谷歌镜象不可用,采用清华源镜象https://mirrors.tuna.tsinghua.edu.cn/help/AOSP/B.配置repomkdir ~/binPATH=~/bin:$PATHcurl https://mirrors.tuna.ts原创 2021-01-28 14:16:35 · 218614 阅读 · 1 评论 -
Ubuntu下adb devices连接异常问题
1.现象描述描述输入adb devices时,出现以下等情况:a. adb: insufficient permissions for device: user in plugdev group; are your udev rules wrong?See [http://developer.android.com/tools/device.html] for more informationb. List of devices attached ???????????? no permi原创 2021-01-28 13:50:24 · 217615 阅读 · 0 评论 -
Android源码编译环境搭建
Google自 2021 年 6 月 22 日起,不再支持在 MacOS 上进行Android平台开发。某些芯片厂家提供的Android SDK不支持低版本的Ubuntu(16.04 LTS及以下),故本篇文章以为例来描述Android编译环境的搭建过程。经测试,等系列分支版本以及等芯片厂家提供的包,OpenWRTChromium都可以编译通过。原创 2020-02-28 00:41:37 · 221809 阅读 · 0 评论 -
C语言之 - 封装自己的打印函数
一、前言最近写C语言代码时,感觉用printf()输出不够方便,想着能不能做到和Android的Log.d()相类似,于是乎,百度了一下,封装个自己的打印函数,仅供参考。二、封装代码#include &amp;amp;lt;stdio.h&amp;amp;gt;#include &amp;amp;lt;stdlib.h&amp;amp;gt;#include &amp;amp;lt;stdarg.h&原创 2018-11-20 14:55:56 · 219946 阅读 · 0 评论 -
vi/vim命令大全
前言vi/vim是linux中即强大又常用的编辑器。工作中,熟练掌握它的命令可以让你的效率大大提升。假如工作中缺少了vi/vim,那么生活是多么的枯燥~~~~~~~有关vi的百科介绍:vi文本编辑器百科有关vim的百科介绍:vim文本编辑器百科使用方法下面列举一下常用的vi/vim命令:插入i 从光标当前位置开始插入a 从光标当前位置的下一个字符开始插入o 在光标位置的下行插入...原创 2018-11-20 22:11:30 · 216370 阅读 · 0 评论 -
C语言之 - 双向链表
一、前言之前,写过一篇《C语言之 - 单向链表》的文章,有兴趣的朋友可以看一下。双向链表再某些特定的场合结合着单向链表能够非常简便、快速的对数据进行操作,比如有锁队列等。可以看一下双向链表的百科:百科-双向链表二、实现过程我们结合着注释,一起来学习一下双向链表。文章底部有源码供大家下载。首先我们定义一个结构体节点:typedef struct s_msg{ int count;...原创 2018-11-22 17:23:28 · 214768 阅读 · 0 评论 -
C语言之 - 单向链表
C语言之 - 单向链表一、前言做项目的时候,经常会遇到这么一个场景:**需要在具有相同属性的数据(例如:学生的学号、名字组成的一串数据)里面查找或者追加或者删除一些数据。**那么,简单的数组远远不能达到目的,因为数组必须实现确定大小,不能动态申请和释放。然而使用malloc动态分配也不能实现,不能够实现局部申请和释放。那么,链表应运而生。我们这篇文章主要介绍单向链表。二、链表定义定义: ...原创 2018-11-20 14:27:43 · 215552 阅读 · 0 评论 -
C语言之 - 生产消费者模型
一、前言生产消费者模型,主要考验的就是对互斥这部分的理解,下面就用了简单的例子来谈一谈经典的生产消费者模型。二、用到的知识sem_init(); // 初始化信号量sem_wait(); // 信号量减一sem_post(); // 信号量加一三、工作模型生产者每隔一段时间生产一个产品入库消费者每隔一段时间消费一个产品出库两者的工作时间不同思路: 生产者生产物品时,生产信...原创 2018-12-04 19:41:37 · 216402 阅读 · 0 评论 -
Ubuntu SVN服务器搭建
Ubuntu SVN服务器搭建本服务器在Ubuntu14.04LTS上搭建,理论上在任何Ubuntu版本上都适合。1、安装SVN首先切换到超级用户下:sudo su然后输入命令安装svn:apt-get install subversion2、建立版本仓库创建文件夹:mkdir -p /home/svn创建版本仓库:svnadmin create /home/svn/修改版本...原创 2019-03-04 19:18:23 · 216255 阅读 · 0 评论