Android大项目开发技巧

前期准备(容易被忽略但实际很重要)

Mac录屏快捷键 command + shit + 5

  1. 用自己熟悉的电脑系统(window/mac)
  2. 熟悉每个系统的快捷键,dock/任务栏位置
  3. 下载自己熟悉的开发工具、辅助工具(Android studioGoogle浏览器gglog日志查看器The Unarchiverscrcpy,GIt,adobe Photoshop) 
  4. 下载必要的android studio 插件

 个人偏好:把dock栏设置在系统右边

开发技巧记录

1 . 使用最新的Android studio编译速度会明显加快

Android Studio Electric Eel | 2022.1.1 Patch 2

2. Android studio 汉化包减少不必要的麻烦

3. 熟练使用 Logcat日志,最新Android studio 更新了logcat,"|"分隔符之间需要二边用空格生效 

DcsNaviControlApi | NavigationController

4. 熟练使用Android studio debug断点模式

根据debug断点处,通过自带工具窗口可以分析出之前的所有调用链方法,一层一层进行分析 

5. 熟练使用Android studio 快捷小技巧

快捷键

  • 最近修改
    • Command + Shift + 回车键 (mac)
  • 最近操作
    • Command + E (mac)
    • ctrl + E (win)
  • 最近修改
    • Command + Shift + E (mac)
    • ctrl + shift + enter (win)
  • 全局搜索
    • Command + Shift + F (mac)
    • ctrl + shift + F (win)
  • 格式化代码
    • command + option + L (mac)
    • ctrl + alt + L (win)
  • 移动上一个光标处
    • Command + Option + Left\Right 或者 command + [, command + ] (mac)
    • ctrl + alt + Left\Right(win)
  • 删除行
    • Command + 回车键  (mac)

移动行

这个不用太多介绍, 就是整行的上下移动.

  • Option + shift + 方向键上\方向键下 (mac)
  • alt + shift + 方向键上\方向键下 (win)

6. 熟练使用 LayoutInspector 分析布局文件,快速定位布局问题,定位bug代码位置

7. 根据进程号分析崩溃问题

8. 个别项目无法显示xml布局显示如下问题

解决方法:清空Android studio缓存

cd /Users/用户名/.gradle/caches/transforms-2/

rm -rf files-2.1

9. 使用lancet-base ,简洁的 API, 几行 Java 代码完成注入需求.可以在SDK编写注入代码来修改依赖SDK的App.

注意:方法名、放回参数、静态修饰都应该与注入的方法保持一致。有static修饰你注入方法也应有static,有返回值注入方法也应有,有参数注入方法也应有!!!!!


    @Proxy("isLongRouteFeature")
    @TargetClass(value = "com.baidu.navisdk.config.ICustomConfigBridge")
    public boolean hookIsLongRouteFeature() {
        AppLog.e(TAG, "hookIsLongRouteFeature");
        ContentFragmentManager manager = BaseFragment.getNaviFragmentManager();
        if (manager != null && manager.getCurrentFragment() instanceof NaviEndCardFragment) {
            return true;
        } else {
            return (boolean) Origin.call();
        }
    }

工具篇

 mac 的话 使用glogg查看日志

车机调试建议使用 scrcpy Android 屏幕镜像工具

Git使用常用指令

Amend commit 可以覆盖之前的提交

[Cherry-Pick 这个可以把别的分支的commit复制到当前分支的主线中](如何将master分支上commit的代码 push到其他分支上去_小码林marlin的博客-CSDN博客)

git fetch 是在当前仓库下面下载其他分支

adb指令篇

adb shell wm size 查询和修改当前设备的尺寸,使用x(xyz的x)进行连接。

打开wifi:

adb shell svc wifi enable

关闭wifi:

adb shell svc wifi disable

查看设备分辨率:adb shell wm size

查看屏幕密度(DPI):adb shell wm density

默认密度比为(标准dpi = 160)

DPI / 标准DPI

查看包名com.baidu.naviauto的堆栈信息来查看在目录位置

adb shell dumpsys package com.baidu.naviauto grep|PATA

LInux指令篇

Mac Find 指令篇

find 命令实现搜索

find 是英文,寻找的意思。这个命令可以很方面的来搜索我们需要的内容。

标准命令如下:

find ./ -iname "*.txt"

find + grep 搜索

默认的 find 命令,功能及其强大,并且最基础的也需要知道一个 * 这样的通配符。但是通过这个组合命令,可以让你啥都不懂的进行任意的搜索。

我们知道 find ./ 命令,可以把当前文件夹下的所有内容全部列出来。同时 grep 命令可以根据关键词进行过滤。然后我们就可以组合这个命令了。

find ./ | grep txt

LayoutInspector 问题梳理

1.一直转圈等待,如下:

 解决方法:等待几十秒,后面右上角会有dump view选项点击即可

2. 不工作不转圈,如下

 解决方法重启adb如下:

 adb kill-server

 adb start-server

adb查看崩溃日志

adb logcat -b crash

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值