开发调试环境: Ubuntu 14.10,openJdk 1.7,Android Studio 1.0.2,android-5.0.1_r1源码
由于AS是基于IntelliJ IDEA开发的,所以本文也适用于IntelliJ IDEA
一、修改Android Studio(以下简称AS)的内存配置
因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中添加一个没有classpath的JDK, 这样可以确保使用源码里的库文件
并将其作为要使用的SDK的Java SDK。如下图
三、生成导入AS所需配置文件(*.ipr)
①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/
在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh
等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms
这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社区版开发的)的配置文件
Tips:
AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
<excludeFolder url="file://$MODULE_DIR$/.repo" />
<excludeFolder url="file://$MODULE_DIR$/abi" />
<excludeFolder url="file://$MODULE_DIR$/art" />
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr
如果在导入时AS出现
则建议按照其给定的解决方法来解决(网址:http://confluence.jetbrains.com/display/IDEADEV/Inotify+Watches+Limit),具体内容如下图:
四、解决源码中跳转错误问题
①为当前工程设置正确的SDK和JDK
②设置'Modules'的依赖
先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.
如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)
点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or directories'选项,依次将frameworks和external文件夹添加进来.如:
其它版本的代码在添加frameworks时可能会显示成:
没有关系,只是显示问题,点击OK还是会把frameworks路径添加进去的.
如果还有代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中即可.
五、DEBUG源码
我们可以通过给刚导入的工程在'Modules'中添加'Android Framework'来让AS将它作为一个Android工程,从而方便我们调试代码.
可以按照上图中'1'和'2'来添加Android Framework支持.
在代码中加断点,然后选择'Run'->'Attach debugger to Android process'或者直接点击下图所示的图标
在弹出的选择进程(Choose Process)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.
六、其它
代码中很多地方提示Call requires API Level x.... 出现这个问题是因为AS将我们的工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.
我们只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。
也可以考虑使用build.gradle来解决该问题。
方法/步骤
在android studio中新建默认的android应用app。
点击菜单栏的“Run”->“Attach debugger to Android process”。
然后会打开“Choose Process”窗口。选中要调试的进程,然后点击ok。
console中会输出:Connected to the target VM, address: 'localhost:8601', transport: 'socket'。说明已经可以进行调试。
在MainActivity的第14行打断点,然后运行程序,可以看到程序停在断点上。
如何在android studio中调试源程序
1、在android studio中新建默认的android应用app。2、点击菜单栏的“Run”->“Attach debugger to Android process”。3、然后会打开“Choose Process”窗口。选中要调试的进程,然后点击ok。4、console中会输出:Connected to the target VM, address: 'localhost:8601', transport: 'socket'。说明已经可...
如何使用Android Studio开发\/调试Android源码
先将所有依赖删掉,只留下上图'1'所指向的两个(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)点击上图中'2'指向的'+'并选择上图'3'指向的'Jars or directories'选项,依次将f...
如何在android studio中调试源程序
AndroidStudio有两种调试模式可供参考,一个是直接进入调试模式,另一个是进程调试(以下均是androidstudio的截图)一、调试模式二、进程调试经验:一般来说,当程序一启动等等不好一个界面一个步骤的跟踪的时候,可以采用第一个方式,当只需要调试某一个界面\/某一个执行步骤的时候,可以采用第二种方式,当...
如何使用Android studio开发手机应用呢?
开发应用:根据您的需求,编写代码和设计用户界面。您可以使用Java或Kotlin进行开发,并利用Android提供的各种API和框架。构建APK文件:在完成应用程序的开发后,使用构建工具将其打包为APK文件。在Android Studio中,您可以选择菜单栏中的「Build」> 「Build Bundle(s) \/ APK(s)」选项,然后选择生成APK文...
怎样在Android Studio中调试
Android studio开启Android调式,首先编译好要调试的程序然后设置断点,然后选择debug进行调试,步骤如下:1、设置断点 2、开启调试会话,点击红色箭头指向的小虫子,开始进入调试。3、IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。红色箭头悬停的区域是程序...
android studio怎么调试
工具\/原料Android StudioDebug模式启动1、启动Android Studio打开一个demo程序,如图:2、点击工具栏的调试按钮或者点击菜单“Run”-“Debug...”,如图:3、在”Choose Device“对话框中,选择设备,如图:4、设置好断点,然后让应用程序断下来。(注:设置断点的时机可以随便选,只要符合自己的需求就可以了...
Android Studio连接手机调试的步骤
1.假设你的gradle配置等各种问题正常的情况下。2.打开SDK Manager,如下图图所示,有两种方法。3.进入界面后如下图选择勾选“Google USB drive”点击“apply”进行安装。4.还是在这个界面,选择自己手机的Android SDK,我是华为nava3 ,是安卓8.1 如图我就勾选安装了8.1。5.连接手机到电脑后,进入...
Android Studio连接手机调试程序方法介绍_Android Studio连接手机调试...
启动调试过程,打开命令提示符(CMD),输入"adb connect 192.168.x.x"尝试连接。若提示命令未识别,检查环境变量是否设置正确。如果连接失败,尝试重启手机的adb服务。在Android Studio中,通过"andriod monitor"检查连接状态,确认设备名称并进行编译和运行,如选择"Build > Build APK",再点击"run > ...
androidstudio怎么用手机调试
android studio怎么用手机调试?用AndroidStudio进行无线的真机调试的设置方法;1、连接手机,手机开启adb。步骤:设置>应用程序>开发>选择USB调试:2、Androidstudio中设置使用手机而不是模拟器。3、按SHIFT+F10,运行程序。开始正式在真机运行。
android studio怎么在真机中调试程序?
1、在android studio中新建android默认的应用app。2、点击菜单栏的Run-Edit Configurations...。3、然后会打开Run\/DebugConfiguration窗口。在窗口右侧找到target device部分,勾选USB device前面的单选框。点击ok。4、在MainActivity上点击右键-Run 'MainActivity'。5、可以看到程序已经运行在真机中。6、 ...