- 博客(31)
- 收藏
- 关注
原创 shell脚本
提示无权限 chmod +x filename不需执行权限:source filenamesh filenamebash filename要执行权限./filename读取键盘输入read 变量名#!/bin/bashecho "please enter username and password>"echo "enter your username:"read username #声明并初始化变量echo "enter your passwor
2021-12-17 11:06:14
197
原创 IPC理解
进程间通信IPC(Inter-Process Communication)进程间通信,提供了各种进程间通信的方法。在Linux C编程中有几种方法(1) 半双工Unix管道(2) FIFOs(命名管道)(3) 消息队列(4) 信号量(5) 共享内存(6) 网络Socket一、管道管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。1、特点: 它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。 它只能用于具有亲缘关系的进程之间的通信(也是父子...
2021-12-15 20:27:30
313
原创 c当中宏理解
宏(Macro)是预处理命令的一种,它允许用一个标识符来表示一个字符串。 #include <stdio.h> #define N 100 int main(){ int sum = 20 + N; printf("%d\n", sum); return 0; }运行结果:120该示例中的语句int sum = 20 + N;,N被100代替了。#define N 100就是宏定义,N为宏名,100
2021-12-10 17:38:54
676
原创 c当中extern详解
根据函数能否被其他源文件调用,将函数区分为内部函数和外部函数。内部函数如果一个函数只能被本文件中其他函数所调用,它称为内部函数。在定义内部函数时,在函数名和函数类型的前面加 static,即static 类型名 函数名 (形参表)例如,函数的首行:static int max(int a,int b)内部函数又称静态函数。使用内部函数,可以使函数的作用域只局限于所在文件。即使在不同的文件中有同名的内部函数,也互不干扰。提高了程序的可靠性。外部函数如果在定义函数时,在函数的首部的最
2021-12-10 16:11:36
3108
原创 Android MTK log分析
1.mtklog简介:mtklog是由log生成工具MTKLogger生成的一系列问题追踪文件,其主要作用就是对系统或者应用产生的异常进行快速定位,从而解决问题。mtklog 的分类:MDLog、Mobile Log、Network Log,可能出现的aee_exp logMD log:medom 相关底层的logMobile Log:主要是Android log 和kernel logNetwork log:网络相关logaee_exp log :crash ANR 重启相关的log输
2021-12-09 14:09:35
2757
原创 进入工厂模式
adb reboot bootloaderfastboot oem config bootmode factoryfastboot reboot
2021-12-08 14:29:36
475
原创 CTS测试流程
1、电脑测试环境搭建init.sh(可直接执行该批处理文件来安装所有环境,adb环境需手动构建) 1. ubuntu系统 --最好是64bit系统,必须安装18.04 (16.04及以下系统无法测试VTS,会直接报错) 2. java 11 linux中使用命令: sudo apt-get install openjdk-11-jdk sudo apt-get instal...
2021-11-27 14:26:07
4277
2
原创 Settings模块需求开发入门
1、settings模块的布局文件大部分都在res/xml/目录下2、从一级菜单(top_level_settings.xml)开始逐步深入3、学习preference,通过key和fragment属性找到下一级布局文件4、fragment类似于activity,必须实现三个方法5、key类似于id,但无法通过monitor工具获取...
2021-11-26 13:49:56
1240
原创 excel常用快捷键
1、上下左右拉伸:定位到第一行或第一列即可拉伸2、选中整行或整列:shift + ↑shift + →3、换行alt + enter4、删除行或列定位开头ctrl + ——
2021-11-23 15:13:11
1210
原创 Android 解bug初步方法
1、使用Android可视化工具monitor,通过id定位问题发生的类及对象2、打印log获取参数值及流程3、通过dumpsys window | grep -i "focuse" 获取进程包名 ps -A | grep "包名" 查看进程id logcat --pid 进程id 查看进程log,通过点击应用程序获取各阶段日志 logcat -s DEBUG 获取底层报...
2021-11-23 10:04:23
1826
原创 vim 模式命令运用
显示行数:set nu定位行如:定位1258行:1258取消显示行数:set nonu搜索/搜索内容匹配上一个、下一个enter键,开始搜索n 匹配下一个N 匹配上一个不保存退出shift + z + q保存退出shfit + z + z删除行删除光标当前行dd删除当前行及后2行3dd...
2021-11-15 11:23:40
403
原创 android 在线查看源码网站
1. (推荐)AOSPXRefhttp://aospxref.com/2.AndroidXRefhttp://androidxref.com/
2021-11-02 14:40:11
1517
原创 Handler postDelayed方法和removeCallbacks方法的使用
方法postDelayed的作用是延迟多少毫秒后开始运行,而removeCallbacks方法是删除指定的Runnable对象,使线程对象停止运行。方法声明如下: public final boolean postDelayed (Runnable r, long delayMillis)其中参数Runnable r在Handler对象所运行的线程中执行。...
2021-10-25 18:50:38
503
原创 Launcher进程启动
1、LauncherLauncher作为Android系统的桌面,它的作用有两点: 作为Android系统的启动器,用于启动应用程序; 作为Android系统的桌面,用于显示和管理应用程序的快捷图标或者其它桌面组件;2、Launcher进程启动流程2.1、SystemServer调用在SystemServer进程启动之后,在main()方法中执行其run()函数,在里面执行了大量的配置设置操作,并且启动了各种引导服务、核心服务以及其他服务等,包括AMS(Activity...
2021-10-18 15:44:39
1448
原创 系统编译流程
在主目录下/media/dds/data/m7-nec/source build/envsetup.sh //加载环境变量lunch //选择编译目标版本 make 用于编译整个系统(m)在需要编译的模块下/media/dds/data/m7-nec/vendor/mediatek/proprietary/packages/apps/MtkSettingsmm 编译当前目录下模块(第一次不能使用mm)...
2021-10-09 16:31:54
169
原创 git 代码提交
git status: 查看修改文件git diff: 查看修改部分git add file1 file2... : 添加修改git commit --amend: 提交代码git branch -a: 查看当前分支git checkout 分支名: 切换分支git reset HEAD: 撤销操作git push origin HEAD:refs/for/分支名: ...
2021-10-09 16:01:41
87
原创 系统软件安装
先执行命令:adb root:获取设备root权限adb remount: 将 '/system' 部分置于可写入的模式,默认情况下 '/system' 部分是只读模式的。这个命令只适用于已被 root 的设备在解锁模式下进入软件编译好的安装包目录:/media/dds/data/m7-nec/out/target/product/m7/system/system_ext/priv-app/MtkSettings/输入命令:adb pus...
2021-10-09 14:23:35
87
原创 android 系统解锁
1.打开OEM点击settings,进入开发者选项,点击OEM执行命令adbrebootbootloaderfastbootflashingunlockfastbootrebootadbrootadbdisable-verityadbreboot
2021-10-08 17:51:18
215
原创 Launcher初步学习
launcher是设备开机后的第一个app,作用是用于显示和管理设备的其他app。在AndroidManifest.xml中添加如下内容就可以将app设置为launcher<category android:name="android.intent.category.HOME"/><category android:name="android.intent.category.DEFAULT"/>1.什么是PackageManager?通俗一点来说Packag.
2021-09-30 16:16:15
1181
原创 使用LitePal操作数据库
配置litepal环境//1、导入项目依赖implementation 'org.litepal.android:core:1.4.1'//2、搭建实体类package com.dds.huqin.pojo;import org.litepal.crud.DataSupport;public class User extends DataSupport { private int id; private String username; privat..
2021-09-26 16:38:06
117
原创 Android定位功能
两种方法第一种获取定位权限 //判断gps是否打开 private boolean isGpsAble(LocationManager lm) { return lm.isProviderEnabled(LocationManager.GPS_PROVIDER) ? true : false; } //让用户自己设置 private void openGps() { Intent intent = new Intent(S.
2021-09-24 16:50:58
195
原创 SeekBar进度条的使用
<SeekBar android:id="@+id/sb" android:layout_width="match_parent" android:layout_height="wrap_content" />进度条触摸事件seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override.
2021-09-24 15:32:11
398
原创 二维码扫描
首先 想要开启扫一扫 一定要有一个开启摄像头的手动权限:<uses-permission android:name="android.permission.CAMERA" />if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { requestPermissions(new String[]{Manifest.permission.CAMERA }, 100);之后,需要导
2021-09-24 14:54:07
100
原创 关于联网和通知
联网会受到网络安全政策限制所以1.加权限<uses-permission android:name="android.permission.INTERNET" />2.res目录下配置安全xml<?xml version="1.0" encoding="utf-8"?><network-security-config xmlns:android="http://schemas.android.com/apk/res/android" xmlns:to
2021-09-10 08:57:10
85
原创 关于动态申请权限
在Android6.0之后版本权限一律动态申请,无法静态申请1.先在AndroidManifest.xml文件中添加,如以下几个权限<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myapp"> <uses-permission android:name="android.permission.SYSTEM_ALERT_WIND..
2021-09-09 09:50:55
175
原创 android 使用litepal报错:Caused by: java.lang.NumberFormatException: s == null
查看assets目录下的litepal.xml配置文件编写是否正确,比如:中的value是否拼写正确
2021-09-05 16:57:11
435
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人