安卓开发常见问题
学习安卓开发的我们总会遇到各种各样恼人的事情:比如最恶心的Eclipse下Logcat不打印, 一段时间后又一股脑把之前的打印出来。
真是急煞我也。 这里分享出我知道的一些开发技巧, 希望对大家有所帮助, 同时也希望有妙招的朋友也分享一些出来, 彼此有益。
一 关于模拟器
1. Intel有个好东西: HAXM, 即硬件加速执行管理器。 是用来加速安卓模拟器的, 效果很明显。 尤其在Android Studio下, 不装HAXM,
内存不超过4G的话, 启动不了虚拟机。 使用要求: 安卓X86模拟器。
2. 模拟器的内存和存储不要设置太高, 够用就好, 因为它们会占用系统资源。同样, 模拟器的屏幕不要太大, 最好不要超过10寸。
3. 最好不要运行多个模拟器, 模拟器对CPU/GPU的消耗实在太大了。
4. 最快的方式是直接运行在真机中。
二 Eclipse + ADT
1. Logcat不打印, 一段时间后一股脑打印, 太坑了。 重启下ADB, 命令行输入:
adb kill-server
adb start-server
2. ADB server didn't ACK:
我们经常遇到命令行输入adb devices, 产生ADB server didn't ACK这样的错误。首先这种情况大多都是adb专用端口5037被其他进程占用导致的。在命令行中一次输入以下命令:
adb nodaemon server // 如果打印cannot bind 'tcp:5037', 说明5037端口确实被占用了 netstat -ano | findstr "5037" // 查找占用5037的进程, 假定进程号为7836 tasklist /fi "pid eq 7836" // 根据进程找到对应的程序
我们找到进程号为7836的程序后, 在任务管理器中将其杀死,重启Eclipse即可。
3. 如何在命令行中进入android系统
adb devices // 查出正在运行的模拟器, 以emulator-5554为例 adb -s emulator-5554 shell // 进入android的linux shell中
4. 如何在命令行中打印log日志
有时候Eclipse老是不出log, 我们也不用卡在那里, 这里有一种应急的解决办法:
adb -s emulator-5554 shell // 首先解决adb连接问题, 见1和2, 并进入shell中 adb logcat | grep TAG // 其中TAG为过滤规则, 可字定义