Android studio 奇淫技巧

Android studio 修改预览界面的尺寸

Android 由于设备种类众多,适配就成了一大难题,一些项目会使用一些成功的适配方案,如今日头条适配方案,今日头条通常可以设置为360X720 的大小,但这样也给我带来了一些问题,
UI给的参数使用后在预览界面始终感觉很别扭,虽然知道在真机测试后会运行正确,但有强迫症的人看到布局空隙十分难受,普通人也会导致降低效率。那我们就需要改变预览界面。

在点击如图所示的地方后会弹出很多默认预览布局的尺寸,大多为谷歌亲儿子pixel的尺寸,如果我们想要添加自己的尺寸,只需要点击add device 即可创建自己的布局。
默认的虚拟机是没有我们想要的尺寸的,所以点击新建一个模拟器,在布局参数上输入我们需要的尺寸

创建成功后即可在布局选择的选项找到自己创建的布局,但在一些AS版本中需要重启一下才可以看到自己的模拟器布局。

如果只是预览界面是不需要打开模拟器就可以使用自定义布局的

快速查找界面与activity的对应关系及常用adb命令

刚导入一个项目时可能不太熟悉项目的结构,有些项目写的也比较难懂,难以从xml文件和实际的界面相对应。这里有两种方法。

从ADB调试入手

再Androidstudio自带的Terminal中或系统的命令行中输入: adb shell "dumpsys window | grep mCurrentFocus"
即可显示当前你的模拟器/真机打开的界面对应的activity。

或者通过简单的反射获取activity

如果你的activity没有继承一个统一的baseactivity那么需要让所有activity都继承自己写的baseactivity,之后只需要再baseactivity中生命周期oncreate或其他添加
Log.e("baseActivity", "cross base activity"+getClass().getSimpleName());
即可在显示各个创建的activity了。
同时再谈一下Java的反射,Java的反射对于小白来说都觉得很复杂,但其实可以简单的使用,如上面说的方法,

apple.getclass.getSimpleName();
apple.getclass.getName();
apple.getclass.getCanonicalName();

以上三种都是简单使用反射的例子,第一个是简单从源代码中返回实例名称,第二个是返回实体类型名称,第三个是规范定义格式输出。
简单来说,simplename只会返回简单的实体类名,而getname会返回包名+类名,如果是数组类头部会返回L,而getCanonicalName是规范化,如是数组会加上[]。
simple只是去掉getCanonicalName的包名。在匿名类的情况注意返回的值可能为空

其他常用adb命令

adb shell /system/bin/screencap -p /sdcard/screenshot.png

这个命令是截图命令,同时配合下面的文件传输命令,可以实现真机或模拟器截图效果
adb pull /sdcard/screenshot.png D:\download
adb shell dumpsys window | findstr mCurrentFocus 获取当前activity
adb shell dumpsys activity top 会获取当前最顶层的界面的信息 同时CTRL+F搜索 added fragments 获取当前fragment
还有其他的几种格式:
adb shell "dumpsys activity top | grep ACTIVITY | tail -n 1"
grep 过滤ACTIVITY 注意大写,tail输出最后一条。同样可以用来过滤fragment,但注意其中的不同.
adb shell "dumpsys activity top | grep '#0: ' "
打印activity的栈,在Android11版本上有效:
adb shell "dumpsys activity activities | grep '* ActivityRecord{'"

Android studio创建java library module

创建Java library module ,点击file——new——module 建立新的module,类型选择Java library,之后点击run按钮的设置,添加run配置,包括启动类位置,run name等就可以在run 按钮中看到有多出来的module启动选项,这样就可以运行了。

使用Android studio自带的截图录像功能

许多时候我们会遇到真机测试或模拟器截图录像等的需求,如果使用真机截图再上传电脑未免太过麻烦,这时可以使用Android studio自带的截屏录像功能,在Android studio的log cat 窗口中,点击左下角的菜单,也可能在菜单收起来的选项中有一个照相机的按钮,点击即可直接将当前真机或模拟器的屏幕图像截取,同时也支持录像功能。

andoroid11后支持的无限调试功能

Android11后支持无限调试,这个并不是以前安装Androidstudio插件的无限调试,而是Android系统提供的功能,具体步骤为:
1.手机电脑连接同一wifi
2.Android Studio检查adb版本是否30adb --version
3.打开手机开发者选项的无线调试,选择数字配对
4.打开terminal,输入以下命令,配对框显示的ip地址和端口adb pair ipaddr:port
5.按提示输入配对数字
6.成功后连接adb,这里的ip和端口是手机页面显示的端口,不是上面配对框里的adb connect ipaddr:port

posted @ 2020-08-11 23:14  百密一疏  阅读(708)  评论(0编辑  收藏  举报