AndroidStudio-安装-配置-调试

参考资料

官方网站

  1. https://github.com/googlesamples/android-ndk, Android NDK 官方参考代码

  2. http://tools.android.com/tech-docs, Android Studio 技术文档

  3. http://code.google.com/p/android/issues/list, Android 问题列表

  4. http://android-developers.blogspot.com/, Android 官方博客

Android Studio 安装

安装 JDK

Android Studio 不建议使用 openjdk(因为其 UI 性能较差),因此从 Oracle 官网下载 JDK,下载网址:

笔者选择的是 jdk-8uXXX-linux-x64.tar.gz。

下载后解压即可,不必配置JAVA_HOME等环境变量

安装 AS

去 developmen.android 官方下载最新版 Android Studio,并解压,假定目录:~/software/android-studio
修改该目录下的 bin/studio.sh 文件,在开头添加STUDIO_JDK变量手动指定 JDK。

#!/bin/sh
#
# ---------------------------------------------------------------------
# Android Studio startup script.
# ---------------------------------------------------------------------
#
STUDIO_JDK="$HOME/software/jdk1.8.0_91/"

说明:这样系统可以存在多个 JDK 版本而互不干扰。如笔者机器上还安装了openjdk-7-jdk,用于编译 Android 系统代码。

配置AS桌面图标

用 gedit 编辑器编写桌面图标:

sudo gedit ~/.local/share/applications/android-studio.desktop

输入内容如下:

[Desktop Entry]
Name = Android Studio
comment= android studio
Exec=/androidstudio路径/bin/studio.sh
Icon=/androidstudio路径/bin/studio.png
Terminal=false
Type=Application
StartupNotify=true

注意:每行末端不能留空格,否则会失效

配置 AS 主题和插件

插件

笔者使用黑色系,选择黑色系,在 settings 菜单中,选择 plugins,安装如下插件:

  • Material Theme UI,黑色主题插件,配置完成后新增菜单 tools | Material Theme,选择 darker 应用。
  • PlantUML,UML 绘图插件,使用特殊的标记语法绘制各种类型的 UML 类图、时序图,并可以生成 svg/eps/jpg/png 等图片。语法参考

PlantUML 绘制时序图效果参考:VirtualAppDoc 项目。

使用 Android Studio 编译 NDK

官方文档

网友博客

AS 调试技巧

调试有源码程序

调试应用

首先在合适的地方设置断点,Android Studio 中支持多种类型断点,包括

  • 普通断点
  • 方法断点
  • 条件断点

关于断点调试,强烈推荐阅读 Android Studio 你不知道的调试技巧

现在开始调试,有如下两种启动方法

  • 从新启动应用,选择菜单 run -> Debug 'app',或者点击工具栏按钮。
  • 调试已经运行的应用,可以使用attach功能,选择菜单 run -> attach debugger to android process,或者点击工具栏按钮,如果连接手机,则会弹出进程列表,选择被调试的进程附着即可。

同时调试多个进程

AS调试功能非常强大,同时支持多个调试上下文,可以 attach 多个进程,每 attach 一个进程,都会生成在 AS 底部的 debug 窗口打开一个新的Android debug标签页。每个标签页都有独立的调试上下文,分别对应一个进程。AS 可以自动在多个 debugger 之间切换。

调试 Android 框架层

首先下载 Android 官方源代码,
参考 如何使用Android Studio开发/调试Android源码

主要操作如下,就可以使用 attach 方式附加被调试的进程。

$ . build/envsetup.sh
$ lunch your-project
$ mmm development/tools/idegen
$ development/tools/idegen/idegen.sh

使用 Debug.waitForDebugger 调试

可以应用于以下场景:

  • 被调试程序运行时会创建一个新进程,该进程很快执行完毕,来不及触发并 attach
  • 被调试程序运行时会启动一个新进程,但是想要调试触发动作之前代码逻辑

此时,可以使用 Android 提供的调试机制

Debug.waitForDebugger();

Wait until a debugger attaches. As soon as the debugger attaches, this returns, so you will need to place a breakpoint after the waitForDebugger() call if you want to start tracing immediately.

参考: https://developer.android.com/reference/android/os/Debug.html

该函数会等待调试器 attach(附着进程)。该函数在调试器 attach 后立刻返回,因此如果想开始调试,那么需要在waitForDebugger后设置断点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值