美文网首页
工作杂记

工作杂记

作者: xlq | 来源:发表于2018-02-26 11:17 被阅读0次
  1. 从源码根目录给每个仓库建立branch命令:
    repo start 分支名 --all

  2. 查看提交记录(单行显示):
    git log --oneline
    library

  3. 撤销节点之后的所有提交:
    git reset --hard _______

  4. 搜索(不区分大小写):
    grep -rn "___" *

  5. MTKLogger暗码 :
    ##3646633##

  6. 导出Log的命令:
    adb pull sdcard/mtklog ./文件名

  7. 用于删除编译出来的.o之类的文件 :
    git clean -xfd (或) git clean -f

  8. 录制屏幕命令(保存在sdcard/中):
    adb shell screenrecord /sdcard/test.mp4

  9. 搜索相关字样的进程:
    ps -aux | grep -ri _____

  10. Android studio 主题下载网址:
    http://color-themes.com/

  11. 自学android资料库:
    https://123.w3cschool.cn/navandroid_study

  12. 手机插线不充电:
    adb shell dumpsys battery unplug

  13. 查看IMEI号 : *#06#

  14. CTS测试环境下载:
    https://source.android.com/compatibility/cts/downloads

  15. 查看手机当前进程:
    adb shell ps | grep ____

  16. git完全教程:
    http://www.yiibai.com/git/

  17. 单跑某个模块Monkey:
    adb shell monkey -p 包名 --throttle 500 -v 99999

  18. svn 更新文件:
    svn up 或 svn update

  19. svn 提交文件:
    1.进入到最近的目录;
    2.svn add + 文件名;
    3.svn commit + 文件名 + -m "备注信息"

  20. 修改文件夹权限 :
    sudo chmod -R 777 *

  21. windows系统查看对方共享目录:
    运行 > \ip地址 > Enter

  22. 获取手机内部存储的路径:

Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator + "***"
  1. 打开Log的指令:
    adb shell am start com.qualcomm.qti.logkit/.cActivity

  2. 查看手机属性:
    adb shell getprop (ro.build.type的值显示什么版本)

  3. 修改屏幕分辨率指令:
    adb shell wm size 1080x1920

  4. 将Jar包导入Android Studio bu步骤 :
    (1) 将jar包拷贝到app > libs 下(没有libs就新建)
    (2) 右键该jar包,选择Add as library
    (3) OK

  5. git完全教程:http://www.yiibai.com/git/

  6. Android系统的分区:

boot: 用于系统启动的分区,主要包括kernel和ramdisk。主要用于挂载System和其他分区,并加载System分区的代码。没有该分区,手机无法启动;

system:该分区包含除了kernel和ramdisk之外的系统应用程序和库文件;正常操作情况下,该分区是只读状态。

recovery: 用于系统升级打补丁,包含了一个完整的Linux操作系统和一个特殊的recorvery包。FOTA升级时,下载完更新包后,进入recovery模式,recovery程序会读更新包,然后将各个patch应用到各个分区;

misc:升级时,recovery用于存储相关信息的小分区;

data:主要包含了用户的数据,如联系人、短信、设置以及安装的应用。清除该分区等同于将手机重置,OTA不会影响该分区;

cache:用于存放需要经常访问使用的数据和应用组件,访问该分区需要特殊的应用程序权限;OTA升级时下载的升级包就位于该分区;

  1. 获取按键键值:
    adb shell
    getevent -ltr

  2. 在手机charging模式时,Linux识别不到手机端口,此时需要配置51-android.rules文件,方法:
    (1)连接手机,命令:lsusb,找到手机的端口ID;
    (2)打开 文件系统-etc-udev-51-android.rules 文件(需要sudo权限);
    (3)按照次序填好端口ID,例如:SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", ATTR{idProduct}=="9020", MODE="0666", OWNER="gsoft2-3";
    (4)重新插拔手机,就能找到端口了。

  3. 当debug版本remount不上,显示报错:
    remount of /system failed: Read-only file system
    remount failed
    使用命令:adb disable-verity 执行一下重启

  4. 查看系统属性:
    adb root;adb remount;adb shell
    getprop (对应的string)
    或者:adb pull /system/build.prop . 将整个系统属性文件pull出来
    或者:/out/target/product/***/system/build.prop 直接查看

  5. 不支持分屏的方案:
    一般在onResume()方法中添加:

if (isInMultiWindowMode()){
    super.onResume();
    Log.v(TAG, "onResume: Don't support split screen !");
    Toast.makeText(this, getString(R.string.dock_non_resizeble_failed_to_dock_text), Toast.LENGTH_SHORT).show();
    finish();
    return;
}
  1. 获取别的应用的字串:
Context ctx = null;
    try {
        ctx = getContext().createPackageContext("com.android.systemui",
        Context.CONTEXT_INCLUDE_CODE | Context.CONTEXT_IGNORE_SECURITY);
    } catch (Exception e) {
            Log.w(TAG, "name not found " + e);
    }
    if (ctx != null ){
        int resId = -1;
        resId = ctx.getResources().getIdentifier(
            "dock_non_resizeble_failed_to_dock_text", "string",
            ctx.getPackageName());
        Toast.makeText(this, ctx.getResources().getString(resId), Toast.LENGTH_SHORT).show();
    } else {
        Toast.makeText(this, getString(R.string.dock_non_resizeble_failed_to_dock_text), Toast.LENGTH_SHORT).show();
    }
}
  1. 打 Patch命令:

    1. 将patch 文件放在模块根目录;
    2. git apply ***.patch --reject;
    3. 如有冲突,会有.rej文件生成,根据.rej文件,手动合入
  2. 将某笔提交打成patch包指令: git format-patch commit_previous..commit

  3. 打印代码的堆栈信息:

    RuntimeException e = new RuntimeException("here");
    e.fillInStackTrace();
    Log.i("xlq", "Exception", e);
  1. 用命令启动某个Activity:
    adb shell am start -n packageName/className;

  2. 阿里云仓库: http://maven.aliyun.com/mvn/search

  3. androidMVC框架和MVVM,MVP对比介绍:
    https://juejin.im/post/58f460b18d6d810057b75bbb

  4. android Rxjava2的学习:
    https://www.jianshu.com/p/464fa025229e

  5. android常用的15个框架
    https://blog.csdn.net/congmingyizhiha/article/details/70011020

  6. 部分网络接口:
    http://www.bejson.com/knownjson/webInterface/

  7. 获取手机activity的启动event:
    adb logcat -b events

  8. 四种启动模式:
    standard:默认启动,每次启动都会新建一个实例,位于栈顶;
    适用场景:普通Activity;

singleTop:栈顶复用,如果要启动的activity处于栈顶,则不用重新创建,直接复用,走onNewIntent()方法,不走onCreate() 和 onStart(),否则和standard一样;
适用场景:点击Notification启动的页面;

singleTask:栈内复用,如果栈内有,直接复用,并且将其置于栈顶,将上方其他的activity pop出栈;走onNewIntent()方法,不走onCreate() 和 onStart();
适用场景:适用于浏览器主界面,多个应用启动浏览器,都只创建第一次,其他都走Activity的onNewIntent()方法。 或者适用于其他应用程序的入口;

SingleInstance:全局单例模式,基本与singleTask一样,区别在于,activity只能单独位于一个任务栈中。(比较特殊,用得少)
适用场景:完全独立的,类似闹钟的提示

相关文章

  • 工作杂记

    忙碌了一天,拉开窗帘才知道,外面在狂风暴雨。不一小会儿,雨停了。厚重的乌云渐渐被拨开了一个缺口,射出一道耀眼的光芒...

  • 工作杂记

    从源码根目录给每个仓库建立branch命令:repo start 分支名 --all 查看提交记录(单行显示):g...

  • 工作杂记

    上班有3个月的时间了,3个月可以做什么呢?足够我熟悉一个地方,熟悉一些事,熟悉一些工作。 熟悉一个地方,比如食堂的...

  • 工作杂记

    好久没写东西了,今天闲来无事。想着写写来上海的感受。 去年十月十二日(2017/10/12)和好友石亚斌一起座了1...

  • 工作杂记

    我觉得,我的大脑受到了损伤。 记得,某类科学作品中,曾说道,愉快的心情才会让你的大脑保持健康。长期处于抑郁、伤心的...

  • 工作杂记

    1.iOS判断当前系统语言: 判断英文环境:[preferredLang hasPrefix:@"en"]判断中文...

  • 工作杂记

    工作时没事做太痛苦 读研有一年了,可是每到工作汇报还是没有什么可以汇报的,唉,站在讲台前,两眼泪汪汪。我真的闲得蛋...

  • 工作杂记

    外面刚下过雨,红墙绿瓦,都被冲刷的格外清新 虽然天空还是阴沉沉的,但早晨的阳光还是淡淡的洒了下来。 风不紧不慢地吹...

  • 工作杂记

    PHP安装REDIS扩展#指定版本pecl install redis-x.x.x.tgz#不指定版本pecl i...

  • 工作杂记

    复学的两周,我很开心的看到我的孩子们,在第一堂课我曾对我的孩子们说:“我很开心我们能够历经五个多月的分别再次相聚在...

网友评论

      本文标题:工作杂记

      本文链接:https://www.haomeiwen.com/subject/xteexftx.html