Android查看包名的几种方式
学习目标:学会查看app报名的几种方法反编译查看清单文件使用反编译工具如jadx,GDA,jeb等工具查看
通过shell命令获取包名和入口类名使用以下命令时,要先进入手机shell
dumpsys window windows | grep mFocusedAppdumpsys window windows | grep mCurrentFoucsdumpsys window | grep mCurrentFocus
grep是Linux中的命令,所以要进入shell才可以使用
在我的设备中,只有
dumpsys window | grep mCurrentFoucs
可以使用
还有一组命令,直接在windows命令行中使用
adb shell dumpsys window windows | findstr mFoucsedAppadb shell dumpsys window windows | findstr mCurrentFocusadb shell dumpsys window | findstr mCurrentFocus
同样只有
adb shell dumps ...
adb与Linux常用命令
学习目标:学会使用adb与Linux的常见命令以及logcat的使用方法adbadb的作用
可以方便的在电脑端通过命令操控手机
很多手机自动化指令也是通过adb来实现的
adb的构成
client端,在电脑上,负责发送adb命令
daemon守护进程(adbd),在手机上,负责接收和执行adb命令
server端,在电脑上,负责管理client和daemon之间的通讯
adb工作原理
client端将命令发送给server端
serever端会将命令发送给daemon端
将执行结果返回给server端
server端将结果再返回给client端
adb常用命令adb/ adb help/ adb --help 查看adb帮助文档adb version 显示adb版本和路径adb devices 显示连接的设备列表adb install xxx.apk 通过adb安装appadb install -r xxx.apk 覆盖安装adb uninstall 包名 通过adb卸载appadb push xxx xxx 推送电脑的文件到手机adb pull xxx 拉取手机 ...
bp
跳台阶一个楼梯共有 nn 级台阶,每次可以走一级或者两级,问从第 00 级台阶走到第 nn 级台阶一共有多少种方案。
输入格式共一行,包含一个整数 nn。
输出格式共一行,包含一个整数,表示方案数。
数据范围1≤n≤151≤n≤15
输入样例:5
输出样例:8
#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin>>n; int temp1=1, temp2=2, newF=0; for(int i=3; i<=n; i++){ newF=temp1+temp2; temp1=temp2; temp2=newF; } cout<<newF; return 0;}
记忆化搜索
#include<bits/stdc++.h>using namespace std;const int N=20;int dfs(i ...
32位汇编
基本框架include irvine32.inc.data.codemain procexitmain endpend main
定义变量定义int型数组和变量c语言写法:
int chess[8][8]={0};int a[8],b[15],c[15];int sum=0;
汇编写法:(dd(Define Double Word)用来定义 32 位(4 个字节)的数据)
include irvine32.inc.data chess dd 64 dup(0) a dd 8 dup(0) b dd 15 dup(0) c dd 15 dup(0) sum dd 0 str1 db "八皇后摆法总数:", 0 str2 db "第", 0 str3 db "种可能摆法:", 0 str4 db " ", 0 str5 db "按回车键继续...", 0
基本指令rep stosdmov eax, 0xFFFFFFFF ; 将EAX设置为要存储的值mov edi ...
Pxile6的刷机与Root
学习目标:Root Piexl6刷机预备知识刷机的分类
线刷 官方包(刷的比较彻底,可以刷bootloader、radio)
卡刷 lineage os(双清)
刷机包的分类
线刷包/工厂镜像包
OTA全量包/OTA增量包
谷歌手机工厂镜像 https://developers.google.com/android/images?hl=zh-cn
线刷包的组成
bootloader
radio
android系统
官方系统与aosp系统区别
官方系统有google全家桶,aosp系统默认是没有的,需要另外集成
官方系统是user版本,aops系统可以是user、userdebug或eng,现在一般都使用user版本
联系
不管是官方系统还是aosp系统,刷机步骤都是一样的
开启开发者选项进入到设置 -> 关于手机 -> 点击7次版本号
开启usb调试进入到设置 -> 系统 -> 开发者选项 -> 启用USB调试 -> 信任设备
adb的简单使用首先要将adb添加到环境变量中
adb devices 查看电脑连接 ...
BFS
走迷宫给定一个 n×mn×m 的二维整数数组,用来表示一个迷宫,数组中只包含 00 或 11,其中 00 表示可以走的路,11 表示不可通过的墙壁。
最初,有一个人位于左上角 (1,1)(1,1) 处,已知该人每次可以向上、下、左、右任意一个方向移动一个位置。
请问,该人从左上角移动至右下角 (n,m)(n,m) 处,至少需要移动多少次。
数据保证 (1,1)(1,1) 处和 (n,m)(n,m) 处的数字为 00,且一定至少存在一条通路。
输入格式第一行包含两个整数 nn 和 mm。
接下来 nn 行,每行包含 mm 个整数(00 或 11),表示完整的二维数组迷宫。
输出格式输出一个整数,表示从左上角移动至右下角的最少移动次数。
数据范围1≤n,m≤1001≤n,m≤100
输入样例:5 50 1 0 0 00 1 0 1 00 0 0 0 00 1 1 1 00 0 0 1 0
输出样例:8
#include<bits/stdc++.h>#define x first#define y secondusing namespace std;const int N = ...
双指针与前缀和
最长连续不重复子序列给定一个长度为 nn 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。
输入格式第一行包含整数 nn。
第二行包含 nn 个整数(均在 0∼1050∼105 范围内),表示整数序列。
输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。
数据范围1≤n≤1051≤n≤105
输入样例:51 2 2 3 5
输出样例:3
#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll N=1e6;ll q[N], c[N];ll n;int res;int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n; for(int i=1; i<=n; i++){ cin>>q[i]; } for(int i=1, j=1; i<=n; i++) ...
二分
模板数组: 3 4 4 5 5 5 6 7
找到第一个大于5的元素
// 数组下标从1开始bool isBlue(int x){ if(x<=5) return true; else return false;}int l=1, r=9; while(l+1!=r){ int mid = (l+r)/2; if(isBlue(q[mid])){ l=mid; }else{ r=mid; }}return r;
找到最后一个小于等于5的元素的位置(下标)
// 数组下标从0开始bool isBlude(int x){ if(x<=5) return true; else return false;}int l=-1, r=8;while(l+1!=r){ int mid = (l+r)>>1; if(isBlue(q[mid])){ l=mi ...
DFS
跳台阶一个楼梯共有 nn 级台阶,每次可以走一级或者两级,问从第 00 级台阶走到第 nn 级台阶一共有多少种方案。
输入格式共一行,包含一个整数 nn。
输出格式共一行,包含一个整数,表示方案数。
数据范围1≤n≤151≤n≤15
输入样例:5
输出样例:8
#include<bits/stdc++.h>using namespace std;int f(int n){ if(n==1) return 1; if(n==2) return 2; return f(n-1)+f(n-2);}int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin>>n; cout<<f(n)<<endl; return 0;}
递归实现指数型枚举从 1∼n1∼n 这 nn 个整数中随机选取任意多个,输出所有可能的选择方案。
输入格式输入一个整数 nn。
输出格式每行输出一种方案。
同一行内的数必须升序排列,相邻两个数用恰 ...
模拟基础
输入输出cin/cout 与 scanf/print
万能头文件#include
cin 与 cout 是 C++ 提供的函数输入输出方便但速度较慢,所以需 要用指令进行输入输出加速,切记使用加速命令后不要同时使用 cin/cout 与 scanf/printf
#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int x, y; cin >>x >> y; cout << y << endl << x; return 0;}
scanf 与 printf 其实是 C 语言提供的函数。大多数情况下,它们 的速度比 cin 和 cout 更快,并且能够控制输入输出格式
%s 表示字符串。
%c 表示字符。
%lf 表示双精度浮点数 ( double ) 。
% ...