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.mzph.cn/news/36295.shtml

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

相关文章

【Sklearn】基于决策树算法的数据分类预测(Excel可直接替换数据)

【Sklearn】基于决策树算法的数据分类预测&#xff08;Excel可直接替换数据&#xff09; 1.模型原理1.1 模型原理1.2 数学模型 2.模型参数3.文件结构4.Excel数据5.下载地址6.完整代码7.运行结果 1.模型原理 决策树是一种基于树状结构的分类和回归模型&#xff0c;它通过一系列…

MySql(干货)

写这篇博客的目的不是为了将介绍原理&#xff0c;而是为了Sql中的代码操作属实太多了&#xff0c;在这里进行一个汇总&#xff0c;方便查阅&#xff01;&#xff01;&#xff01; Sql分类 分类全称说明 DDL Data Definintion Language数据定义语言&#xff0c;用来定义数据库对…

微信小程序(由浅到深)

文章目录 一. 项目基本配置1. 项目组成2. 常见的配置文件解析3. app.json全局的五大配置4.单个页面中的page配置5. App函数6.tabBar配置 二. 基本语法&#xff0c;事件&#xff0c;单位1. 语法2. 事件3. 单位 三. 数据响应式修改四 . 内置组件1. button2. image3. input4. 组件…

k8s常用资源管理 控制

目录 Pod&#xff08;容器组&#xff09;&#xff1a;Pod是Kubernetes中最小的部署单元&#xff0c;可以包含一个或多个容器。Pod提供了一种逻辑上的封装&#xff0c;使得容器可以一起共享网络和存储资源 1、创建一个pod 2、pod管理 pod操作 目录 创建Pod会很慢 Pod&…

什么是事务,并发带来的事务问题以及事务隔离级别(图文详解)

一、什么是事务&#xff1f; 简单说就是逻辑上的一组操作&#xff0c;要么都执行&#xff0c;要么都不执行。 举个例子&#xff0c;假如小明要给小红转账100元&#xff0c;这个转账会涉及到两个关键操作&#xff1a;①将小明的余额减少100元。 ②将小红的余额增加100元 。但…

学习笔记整理-JS-04-流程控制语句

文章目录 一、条件语句1. if语句的基本使用2. if else if多条件分支3. if语句算法题4. switch语句5. 三元运算符 二、循环语句1. for循环语句2. for循环算法题3. while循环语句4. break和continue5. do while语句 三、初识算法1. 什么是算法2. 累加器和累乘器3. 穷举法4. 综合算…

设计模式(2)工厂方法模式

一、 1、介绍&#xff1a;定义一个用于创建对象的接口&#xff0c;让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断&#xff0c;根据客户端的选择条件动态实例化相关的类&#xff0c;对于客户端来说…

odoo-034 float 浮点数比较

文章目录 前提问题解决总结 前提 odoo 版本&#xff1a;13 python&#xff1a;3.6.9 问题 比较销售订单行中已送货跟已开票&#xff0c;在 tree 视图显示搜索后的结果。发现搜索条件为已送货 > 已开票时&#xff0c;结果中会包含已送货已开票的。 解决 把这两个值打印出…

LeNet中文翻译

Gradient-Based Learning Applied to Document Recognition 基于梯度的学习应用于文档识别 摘要 使用反向传播算法训练的多层神经网络构成了成功的基于梯度的学习技术的最佳示例。给定适当的网络架构&#xff0c;基于梯度的学习算法可用于合成复杂的决策表面&#xff0c;该决策…

【Vue-Router】使用 prams 路由传参失效

报错信息&#xff1a; [Vue Router warn]: Discarded invalid param(s) “name”, “price”, “id” when navigating. list.json {"data": [{"name": "面","price":300,"id": 1},{"name": "水",&quo…

考研408 | 【计算机网络】 网络层

导图 网络层&#xff1a; 路由器功能&#xff1a;转发&路由选择 数据平面 数据平面执行的主要功能是根据转发表进行转发&#xff0c;这是路由器的本地动作。 控制平面 1.传统方法/每路由器法&#xff1a; 2.SDN方法&#xff08;Software-Defined Networking) 控制平面中的…

html实现商品图片放大镜,html图片放大镜预览

效果 实现 复制粘贴&#xff0c;修改图片路径即可使用 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>商品图片放大镜</title></head><style>body {margin: 0;padding: 0;}#app {padding: 10px;posit…

关于青少年学习演讲与口才对未来的领导力的塑造的探析

标题&#xff1a;青少年学习演讲与口才对未来领导力的塑造&#xff1a;一项探析 摘要&#xff1a; 本论文旨在探讨青少年学习演讲与口才对未来领导力的塑造的重要性和影响。通过分析演讲和口才对青少年的益处&#xff0c;以及如何培养这些技能来促进领导力的发展&#xff0c;我…

Harmony创建项目ohpm报错

Harmony创建FA模型的项目时报如下错&#xff1a; The registry is empty - edit .ohpmrc file or use "ohpm config set registry your_registry" command to set registry.解决方法&#xff1a; File -> Settings -> Build,Execution,Deployment -> Ohpm …

docker可视化工具Portainer

1:Portainer简介 Portainer是一个docker可视化管理工具&#xff0c;可以非常方便地管理docker镜像容器。官网地址&#xff1a;https://www.portainer.io/ 注&#xff1a;现在Portainer有BE&#xff08;收费&#xff09;和CE&#xff08;免费&#xff09;版本&#xff0c;安装的…

【音视频、chatGpt】h5页面最小化后,再激活后视频停住问题的解决

目录 现象 观察 解决 现象 页面有时候要切换&#xff0c;要最小化&#xff1b;短时间或者几个小时内切换回来&#xff0c;视频可以正常续上&#xff1b;而放置较长时间&#xff0c;几个小时或者一晚上&#xff0c;切换回来后&#xff0c;视频可能卡死 观察 切换页面&#x…

【解读Spikingjelly】使用单层全连接SNN识别MNIST

原文档&#xff1a;使用单层全连接SNN识别MNIST — spikingjelly alpha 文档 代码地址&#xff1a;完整的代码位于activation_based.examples.lif_fc_mnist.py GitHub - fangwei123456/spikingjelly: SpikingJelly is an open-source deep learning framework for Spiking Neur…

【自用】终端设备(ESP32-S3)连接云服务器 HomeAssistant + MQTT 物联网平台

总览 1.流程概述 2.开始搭建&#xff01; 3. 一、流程概述 0.总体流程 二、开始搭建 1.下载 MQTTX 客户端&#xff08; 在PC上 &#xff09; https://mqttx.app/zh/downloads 2.新建 MQTTX 连接 0.点击左侧的加号&#xff0c;开始新建连接。 一共需要填写几个参数&#…

会玩这 10 个 Linux 命令,一定是个有趣的 IT 男!

Linux当中有很多比较有趣的命令&#xff0c;可以动手看看&#xff0c;很简单的。 1.rev命令 一行接一行地颠倒所输入的字符串。 运行&#xff1a; $rev如输入&#xff1a;shiyanlou shiyanlou2.asciiview命令 1.先安装aview $sudo apt-get install aview2.再安装imagema…

vue中封装自动计算比例滑块

此插件为另一位漂亮的前端同事小姐姐封装,觉得非常好用于是决定记载下来,便于复用 如图需要动态传入需要分配权重的数组,平均分配可以自动将100%平均分给数组中的值 如果手动拖拽,则会自动计算可拖动最大区域,便于最终总权重必定为100% <el-alert class"merge-alert&…