任务
- 配制环境
- 了解公司组织架构
- 熟悉项目代码
- 解决ANR问题
配制环境
公司用的是Deepin操作系统(是一个基于Debian的Linux操作系统), 之前公司用的是mint 18.0,所以用的还算顺手
- 使用
uname -a
打印当前系统相关信息
Linux android-PC 4.15.0-30deepin-generic #31 SMP Fri Nov 30 04:29:02 UTC 2018 x86_64 GNU/Linux
- adb 配制环境变量配制
$ vim .bashrc
打开文件,在文件最下面添加下面配制
export ANDROID_HOME=/home/youruser/Android/sdk
export PATH="${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/platform-tools" //注意这里是要以冒号分隔
-
安装常用的工具
gvim,sublime,atom
$ sudo apt-get install subversion
$ sudo apt-get install git
-
Chrome安装axure插件
原型图都是用axure来做的,要用chrome打开生成的axure文件,就要安装Axure RP Extension for Chrome这个插件 -
svn使用
公司给了一个文档地址和对应的svn账号
首先自己通过下面命令下载
$ svn checkout svn路径 --username yourname //如果当前登录系统的名字和svn用户名不一样的时候,要指定相应的用户名
后面发现由于这个拉的是整个公司不同部门的所有的文档,下载了半个小时都没有下载完,然后我就在网上搜索使用下面命令
$ svn checkout svn路径 --username yourname --depth=empty //只checkout目录,不包括内容
- 邮箱配制
imap.mxhichina.com
smtp.mxhichina.com
项目结构
使用阿里ARouter路由实现Android模块化开发,用到的库有:
com.alibaba.android.arouter
com.tencent.smtt.sdk
com.taobao.sophix
com.tencent.bugly
airbnb.lottie
com.google.gson
ANR问题排查
项目用的是bugly来统计报错信息,最近发现很多ANR的问题,日记如下:
Android ANR问题原因分析(Reason: Input dispatching timed out (Waiting because no window has focus but there is a focused application that may eventually add a window when it finishes starting up.))
刚才有一处报错可以定位到具体的代码,能过查看那个类涉及到的代码,发现有三个问题会导致ANR
- 使用了
collections.sort
排列数组,数据量大会很耗时 - ListView嵌套在ScrollView当中,导致ListView复用
- Adapter每一个item都有循环去查找,数据量大会很耗时
Deeplin怎么安装rpm软件包
- 安装alien,fakeroot
$ sudo apt-get install alien fakeroot
- 使用alien将rpm包转为deb包
$ fakeroot alien name.rpm
- 安装包
$ sudo dpkg -i name.deb
这里为什么要使用fakeroot?
fakeroot 可以用来模拟 root 权限, 在fakeroot环境中,操作文件就像使用root操作文件一样。但是,实际上系统中文件的权限还是原来的权限。
Vim 复制内容到系统剪切板
set clipboard=unnamed
“*y "+y
遇到的问题
- android git配制问题
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'Administrator@MS-201610130300.(none)')
解决:Android Studio 使用git config配制环境变量
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
- android 虚拟机启动失败
Installation did not succeed.
The application could not be installed: INSTALL_FAILED_INSUFFICIENT_STORAGE
The device needs more free storage to install the application (extra space is needed in addition to APK size).s
The profiler was unable to parse the trace file. Please make sure the file selected is a valid trace
解决: 修改虚拟机内存的大小
用到的命令
$ adb shell pm list packages | grep 包名
$ adb push 文件路径 sdcard路径
$ adb pull sdcard路径 文件路径
引用
Android Handler机制 - MessageQueue如何处理消息
网友评论