如何使用cocos2d android 调试studio调试cocos2d安卓项目的代码

匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。如何使用Android Studio开发/调试Android源码_Linux教程_Linux公社-Linux系统门户网站
你好,游客
如何使用Android Studio开发/调试Android源码
来源:Linux社区&
作者:Lefter
本文是以源码中development/tools/idegen/README作为指导文档.
14.10,openJdk 1.7, 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社区版开发的)的配置文件
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出现
&则建议按照其给定的解决方法来解决(网址:/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来解决该问题。&
文中所使用的文件地址:
------------------------------------------分割线------------------------------------------
免费下载地址在
用户名与密码都是
具体下载目录在 /2015年资料/4月/19日/如何使用Android Studio开发&调试Android源码/
下载方法见
------------------------------------------分割线------------------------------------------
Ubuntu 12.04(64位)安装Android Studio 全过程 &
Android Studio v0.1尝鲜 &
Android Studio使用教程 &
Android Studio开发指南 &
Android Studio设置主题 和 不支持中文的问题解决方法 &
Android Studio 下载安装以及不能打开的解决办法 &
Android Studio安装使用图文教程 &
Android Studio 的详细介绍:Android Studio 的下载地址:&
本文永久更新链接地址:
相关资讯 & & &
& (05月22日)
& (01月28日)
& (08月04日)
& (04月19日)
& (01月24日)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款本文是以源码中development/tools/idegen/README作为指导文档.
环境: 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社区版开发的)的配置文件
AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:
&excludeFolder url="file://$MODULE_DIR$/.repo" /&
&excludeFolder url="file://$MODULE_DIR$/abi" /&
&excludeFolder url="file://$MODULE_DIR$/art" /&
删除掉所有不需要的module-library项 PS:感谢
这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.
④在AS中打开源码根目录下新生成的android.ipr
如果在导入时AS出现
&则建议按照其给定的解决方法来解决(网址:/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和external这两个移到最上面,这样在代码跳转时会优先从这两个文件夹下查找,而不是在Android.jar中查找。
其它版本的代码在添加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来解决该问题。
文中所使用的文件地址:/cf3MBa2688eBw (提取码: 64e5)
阅读(...) 评论()Cocos2D-X官网已经简单介绍了如何在OS X环境下搭建Cocos2D-X v2.x和v3.x的指南。具体链接为:
在此,我将进一步介绍如何将生产的项目用于Android Studio。
我们通过上述链接中所描述的过程生成完一个HelloWorld项目工程后可以先放在桌面或其它临时文件夹里。然后,打开Android Studio应用,选择&Import Non-Android Studio Project&,然后选择HelloWorldDemo/proj.android所在目录。然后点击几次Next之后即可进入正式项目工程界面。一般来说,刚进入界面会出现missing SDK的错误。由于Cocos2D-X默认生成的SDK API版本太小,因此分别进入helloWorldDemo目录以及libcocos2dx目录下的build.gradle文件中,将compileSdkVersion、targetSdkVersion设置到较高版本即可。总之,只要当前的Android Studio能认出来就行。
其次,我们把src/main目录下的jni目录给delete掉。可以直接在左侧项目栏,右键jni,然后选择Delete删除之。由于这会使得Android Studio自动去编译JNI,然而我们已经通过执行build_native.py把整个JNI都编译好了,因此这一步可以放在外面做。
最后,我们点击绿色三角箭头即可运行这个HelloWorldDemo的应用了。
下面谈谈如何引入其它第三方库的问题。首先是JNI的库。我们知道,Cocos2D-X使用是C++作为主要开发语言,因此势必哋跟JNI来打交道。如果我们获得的第三方库也是JNI的.so动态库文件,那么我们可以在之前所生成的放在桌面或临时文件夹中的项目工程文件中,把第三方.so文件先放在&proj.android/jni&目录中。然后编辑Android.mk,在
LOCAL_STATIC_LIBRARIES := cocos2dx_static
这条语句下添加
LOCAL_LDLIBS += -L$(LOCAL_PATH)/ -lthird_party
假定,我们这里所使用的第三方动态库文件名为libthird_party.so。通过编译后,我们还需要将这些.so文件一起放到Android Studio项目工程下的HelloWorldDemo里的jniLib中。
然后,我们要添加其它C/C++源文件可以直接在LOCAL_SRC_FILES变量后通过+=操作符进行追加。
这里值得注意的是,Cocos2D-X默认仅编译armeabi,如果有需要,可以编辑Application.mk,修改APP_ABI变量,往后追加想要支持的ABI。现在Cocos2D-X v3.4的SDK,ARMv8还不支持。
对于导入第三方jar库的话也比较简单。我们首先可以把第三方jar库扔进Android Studio工程目录中的HelloWorldDemo目录下的jniLib目录中,然后打开Android Studio工程,在左侧项目栏里会把我们加入的jar文件显示出来,我们右键它(如果有多个可以多选),然后选择Add to Libs,将它们作为库正式导入到工程中。这样就OK了~
最后,如果要在工程中使用android.support库,或者第三方库中有对android.support库的引用,那么得在左侧工程栏里helloWorldDemo里的build.gradle的dependencies中添加如下语句:
dependencies {
compile project(':libcocos2dx')
// 这个是已有的
/** 添加对com.android.support的支持 */
compile 'com.android.support:appcompat-v7:21.0.3'
对于其它资源文件可以合并到res目录下;对于要增加特殊的用户访问权限的,直接编辑AndroidManifest.xml即可。
Views(...) Comments()2671人阅读
android开发(3)
学习笔记(1)
最近学习cocos2d游戏开发,发现网上的教程都是用eclipse为IDE搭建的环境,于是就下载eclipse照着做,可是跟着步骤做下来,引入项目时总是出项各种错误,什么包没导入,类找不见,还有各种eclipse认为你错了的错误,最后实在折腾烦了,就尝试用了下AndroidStudio,没想到还挺好用。
首先要配置NDK,Android SDK,Ant什么的,大家肯定都没问题了,有问题网上也有非常多的教程。
cocos2d的环境搭建好,我们就可以开始了。
创建cocos2d项目
在命令行输入命令
cocos new HelloAs -p com.example.helloas -l cpp -d .
这里 “-p”的参数是包名,“-l”是指开发用的语言,“-d”是指项目所在目录
如果看到类似信息,那就说明项目创建成功了。
编译为AndroidStudio项目
进入项目文件夹
cd HelloAs
cocos compile -p android --android-studio
这里的 “-p”是指编译的平台,后边的参数就是指要编译为AndroidStudio工程
看到类似信息则说明开始编译了,这是你可以去睡一觉,或者看看视频,聊聊妹子什么的,因为要等很长时间,出现“………………………”的时候也不要担心,那是gradle在下载文件,耐心等着就对了。
最后,编译成功了。
3. 现在可以用AndroidStudio打开项目了
选择打开现有项目
选择项目中的proj.android-studio目录,点击ok
成功导入,现在就可以运行了
4.编写c++代码
完成了上诉步骤你会发现项目中没有Classes目录,这就对了!因为我们根本就没有把它引入进来。这也是目前用AndroidStudio最痛苦的事情,编辑c++代码需要用文本编辑器来做,没有代码提示,所以编写的时候一定要非常仔细。
5. 改动c++代码后需要在命令行中重新编译
cocos -p compile android --android-studio
如过你创建了新的类文件,需要在Android项目的Android.mk文件中引入。
在AndroidStudio中还可以像以前一样查看log和调试信息,代码书写错误在编译的时候可以在命令行中查看。
看,还是挺方便的对不对?
看到这里你可能要说了,这也不比eclipse方便,那我还用它干嘛?
我能说这是我在使用eclipse遭遇太多失败后做出的另一个选择,再说了,用AndroidStudio开发Android项目不是大势所趋嘛。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5199次
排名:千里之外}

我要回帖

更多关于 android studio 调试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信