1、adb shell dumpsys activity lru //查看最近的应用排列顺序
2、adb shell dumpsys activity top //打印activity堆栈信息
3、adb shell dumpsys activity | grep “mFocuse” //只打印TopActivity信息
4、adb shell am start -n com.example.myapplication/.MainActivity //打开某个app的某个主界面
5、adb shell pidof com.example.app //这条命令会返回 com.example.app 的进程 ID(PID)。
6、adb shell “ps |grep keyword” //keyword是我们想要找的进程名字的全称或者是一部分.
7、adb shell setenforce 0 //设置成permissive 模式
8、adb shell setprop persist.force.avnon.enable 1 //点亮屏幕
9、adb shell dumpsys meminfo //查看所有进程的PSS和RSS,后面加上PID就是查找某一个APP的相关数据,PID是app的进程ID
10、进程优先级: 取值
CACHED_APP_MIN_ADJ “cch” 900 不可见进程adj的最小值
VISIBLE_APP_ADJ "vis " 100 可见进程
FOREGROUND_APP_ADJ "fg " 0 前台进程
11、Android.bp 以java源码编译apk
android_app {
name: "myapp", //编译出的模块的名称,类似于Android.mk中的LOCAL_MODULE
certificate: "platform", //是否系统签名
//不用覆盖签名,使用原本打包的签名,和上面的只能2选一
//presigned:true,
platform_apis: true,
sdk_version: "system_current",
privileged: true, //是否生成到priv-app目录
host_supported: true, //指定模块是否支持主机构建
device_supported: true, //指定模块是否支持目标设备构建
installable: true, //指定模块是否可以被安装到系统镜像中
product_specific: true 指定编译出来放在/product/目录下(默认是放在/system目录下)
vendor: true, //指定编译出来放在/vendor/目录下(默认是放在/system目录下)
kotlincflags: ["-Xjvm-default=enable"],
optimize: { //optimize 用于指定编译时优化选项
proguard_flags_files: ["app/src/main/proguard.flags"],
},
libs: [
// Soong fails to automatically add this dependency because all the
// *.kt sources are inside a filegroup.
"kotlin-annotations",
],
srcs: [ //源文件,类似于Android.mk中的LOCAL_SRC_FILES,可以是一个文件列表
"path/to/your/app/src/**/*.java",
],
resource_dirs: [
"path/to/your/app/res",
],
manifest: "path/to/your/app/AndroidManifest.xml",
aidl: {
local_include_dirs: ["SystemUpdaterSDK/src/main/aidl/"],
},
resource_dirs: ["app/src/main/res"],
// "//my/module": 按照Android Gradle构建系统结合bp文件时对于外部库的依赖格式添加
visibility: ["//my/module:visible_module"], //visibility:指定模块的可见性,确定哪些模块可以访问它。visibility: invalid visibility pattern "//frameworks/base/" must match //:
, // or :
//加载类库
shared_libs: ["lib1", "lib2"], //编译依赖的动态库lib1和lib2
static_libs: ["lib3", "lib4"], //编译依赖的静态库lib3和lib4
}
//预编译jar包,加载jar包
java_import {
name: "libs",
jars: ["app/libs/rxjava.jar", "app/libs/rxandroid.jar"","app/libs/zxing.jar"],
srcs: ["src/main/java/*.java"],
aidl: ["src/main/aidl/*.aidl"],
deps: ["my_static_library"], // 假设 my_static_library 就是被标记为 staticlib 的模块,确保名称准确
compileSdkVersion: 33,
}
9、Android系统源码编译Android.bp文件方式:
(1)在源码release目录,输入 make -j64 “name名称”
(2) cd 到Android.bp模块目录,输入"mm"
系统镜像:out/target/product/msmnile_gvmq/system.img