android 开发中常用命令

1.反编译

命令:apktool d <test.apk> -o <folderdir>

其中:test.apk是待反编译文件的路径,folderdir是反编译后的文件的存储位置。

apktool d -f <test.apk> -o <folderdir>

注意:如果dir已经存在,会提示报错,此时加上参数-f会强行覆盖dir。

举例:apktool   d /Users/admin/test.apk -o /Users/admin/Desktop/folderdir

2.编回apk 重新打包

apktool b /Users/admin/Desktop/folderdir

3.重新签名,生成apk

jarsigner -verbose -keystore 你的签名文件 -storepass 签名文件密码 -signedjar 签名后的apk名称 -digestalg SHA1 -sigalg MD5withRSA 待签名的apk 签名文件别名

jarsigner -verbose -keystore /Users/admin/Desktop/test.keystore -storepass test -signedjar /Users/admin/Desktop/folderdir/dist/1test.apk -digestalg SHA1 -sigalg MD5withRSA /Users/admin/Desktop/folderdir/dist/1019033_gtyxsjtest2_37_fanshenghao_1688031872bPeBJZETdV.apk test

4.命令输入控制台log(有时候 as 控制台总是丢日志,用这个命令不会出现)

adb logcat ->/Users/admin/Desktop/jspanhskd.log

5.查看这个包名带 jp 的进程

adb shell ps | grep jp

6.杀死手机某个进程

adb shell am force-stop packagename

例子:adb shell am force-stop com.pm.tcl

7.查看activity的调用栈信息

adb shell dumpsys activity | grep "topActivity"

8.查看Activity组件信息

adb shell dumpsys activity activities

9.查看Service组件信息

adb shell dumpsys activity services

10.查看ContentProvider组件信息

adb shell dumpsys activity providers

11.查看BraodcastReceiver信息

adb shell dumpsys activity broadcasts

12.查看Intent信息

adb shell dumpsys activity intents

13.查看进程信息

adb shell dumpsys activity processes

14.查看设备abi,海思芯片是32位还是64位

adb shell getprop ro.product.cpu.abi

15.输出各阶段发生的动画与帧相关的信息

adb shell dumpsys gfxinfo <PackageName>

16.查看每个activity启动耗时 在Android Studio Logcat中过滤关键字“Displayed

17. 应用的启动时间

命令: adb shell am start -W com.jo.cl/com.jo.cl.SplashActivity

ThisTime

表示最后一个Activity启动耗时。

TotalTime

表示所有Activity启动耗时。

WaitTime

表示AMS启动Activity的总耗时。

一般来说,只需查看得到的TotalTime,即应用的启动时间,其包括 创建进程 + Application初始化 + Activity初始化到界面显示 的过程。

18.aab并不能直接安装到手机,因为apk是唯一的安装包格式,所以需要先将aab转成apks,我们需要借助bundletool工具,bundletool的使用见官网 ​​​​​​https://developer.android.com/studio/command-line/bundletool

  a. 通过 brew 安装bundletool   

     命令:brew install bundletool

  b. aab 生成 apks   

命令:bundletool build-apks --bundle=<test.aab> --output=<test.apks> --ks=<test.jks> --ks-pass=pass:<密码> --ks-key-alias=<别名> --key-pass=pass:<密码>

举例:bundletool build-apks --bundle=/Users/admin/Downloads/test.aab -- output=/Users/admin/Desktop/test/wscq.apks --ks=/Users/Project/test.jks --ks-pass=pass:android --ks-key-alias=test --key-pass=pass:android

   c.  安装 apks 到手机

命令: bundletool install-apks --apks trunk_release_signed.apks

19.获取apk 签名信息

命令:keytool -keystore <keystore文件> -list -v

举例:keytool -keystore /Users/Project/test/keystore/test.keystore -list -v

20.获取手机内apk包中的缓存文件

命令:adb pull <缓存文件路劲> <输出路劲>

例子:adb pull /sdcard/android/data/com.pm.test/files/test_logs/Log_2023_08_04.log /Users/admin/Desktop

21.查看apk安装目录

命令: adb shell pm path packagename

22.mac 查看 jdk 安装路劲

命令:  /usr/libexec/java_home -V

23. android studio 查看依赖树

chmod +x gradlew

命令: ./gradlew :app:dependencies

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/66225.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】2021 RoboCom 机器人开发者大赛-高职组(初赛)题解

7-1 机器人打招呼 机器人小白要来 RoboCom 参赛了&#xff0c;在赛场中遇到人要打个招呼。请你帮它设置好打招呼的这句话&#xff1a;“ni ye lai can jia RoboCom a?”。 输入格式&#xff1a; 本题没有输入。 输出格式&#xff1a; 在一行中输出 ni ye lai can jia Robo…

快手商品详情数据API 抓取快手商品价格、销量、库存、sku信息

快手商品详情数据API是用来获取快手商品详情页数据的接口&#xff0c;请求参数为商品ID&#xff0c;这是每个商品唯一性的标识。返回参数有商品标题、商品标题、商品简介、价格、掌柜昵称、库存、宝贝链接、宝贝图片、商品SKU等。 接口名称&#xff1a;item_get 公共参数 名…

单例模式-java实现

介绍 单例模式的意图&#xff1a;保证某个类在系统中有且仅有一个实例。 我们可以看到下面的类图&#xff1a;一般的单例的实现&#xff0c;是属性中保持着一个自己的私有静态实例引用&#xff0c;还有一个私有的构造方法&#xff0c;然后再开放一个静态的获取实例的方法给外界…

多线程与并发编程面试题总结

多线程与并发编程 多线程 线程和进程的区别&#xff1f; 从操作系统层面上来讲&#xff1a;进程(process)在计算机里有单独的地址空间&#xff0c;而线程只有单独的堆栈和局部内存空间&#xff0c;线程之间是共享地址空间的&#xff0c;正是由于这个特性&#xff0c;对于同…

php如何对接伪原创api

在了解伪原创api的各种应用形态之后&#xff0c;我们继续探讨智能写作背后的核心技术。需要说明的是&#xff0c;智能写作和自然语言生成、自然语言理解、知识图谱、多模算法等各类人工智能算法都有紧密的关联&#xff0c;在百度的智能写作实践中&#xff0c;常根据实际需求将多…

Vue [Day7]

文章目录 自定义创建项目ESlint 代码规范vuex 概述创建仓库向仓库提供数据使用仓库中的数据通过store直接访问通过辅助函数 mapState&#xff08;简化&#xff09;mutations传参语法(同步实时输入&#xff0c;实时更新辅助函数 mapMutationsaction &#xff08;异步辅助函数map…

【electron】electron安装过慢和打包报错:Unable to load file:

文章目录 一、安装过慢问题:二、打包报错&#xff1a;Unable to load file: 一、安装过慢问题: 一直处于安装过程 【解决】 #修改npm的配置文件 npm config edit#添加配置 electron_mirrorhttps://cdn.npm.taobao.org/dist/electron/二、打包报错&#xff1a;Unable to load…

计算机竞赛 python 机器视觉 车牌识别 - opencv 深度学习 机器学习

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于python 机器视觉 的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 &#x1f9ff; 更多资…

Jenkins+Docker+SpringCloud微服务持续集成项目优化和微服务集群

JenkinsDockerSpringCloud微服务持续集成项目优化和微服务集群 JenkinsDockerSpringCloud部署方案优化JenkinsDockerSpringCloud集群部署流程说明修改所有微服务配置 设计Jenkins集群项目的构建参数编写多选项遍历脚本多项目提交进行代码审查多个项目打包及构建上传镜像把Eurek…

go.sum are different when using go mod vendor/download

本地Golang配置 今天本地编译一个项目&#xff0c;遇到以下错误 PS D:\Code\Golang\jiankunking\k8s-ext> go mod tidy go: downloading github.com/huaweicloud/huaweicloud-sdk-go-obs v3.23.4incompatible verifying github.com/gin-gonic/ginv1.7.3: checksum mismat…

时序预测 | Matlab实现基于RF随机森林的电力负荷预测模型

文章目录 效果一览基本介绍模型描述源码设计学习小结参考资料效果一览 基本介绍 时序预测 | Matlab实现基于RF随机森林的电力负荷预测模型 电力负荷预测是指通过对历史电力负荷数据分析,来预测未来某个时间段内的电力负荷需求。这项预测对于电力系统的运行和调度至关重要,可以…

2023年国赛数学建模思路 - 复盘:光照强度计算的优化模型

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米&#xff0c;宽为12米&…