㈠ 如何调试跟踪android Framework源代码
本文讲解如何在Eclipse中导入Android源代码(包括Framework和Application的代码),然后通过模拟器或真机跟踪/调试Android的java代码,区别于一般基于Android SDK的纯应用开发,这里可以跟踪/调试Framework中的代码。
一、准备工作
确保机器上已经安装并配置下列软件环境:JDK/ Eclipse / Android SDK / ADT
即,机器上已经安装了Eclipse下Android应用开发所需的环境。如果还未配置,移步《搭建Windows下Android应用开发环境——Eclipse/Android/ADT》。
另外,为了跟踪调试Android源码,你还需要有Android源码,并有源码的编译环境,可以是:
虚拟机环境 虚拟机中安装Linux,Linux下编译Android源码。此环境下,如果要在宿主机的Eclipse中调试,还需要把Android的源码路径共享出来,宿主机可访问到;
有单独的可编译Android的网络环境 在你的客户端的机器上访问服务器共享出来的Android的源码路径;
Linux环境下直接通过Eclipse跟踪调试本机上的Android源码。
注意:不管哪种工作方式,Android源码要都是已经编译过的,且编译时采用的是Eng模式(vs User mode)。编译Android Platform和Kernel的过程,可参考《Ubuntu10.10下编译Android2.2平台》及《Ubuntu10.10下编译Android2.2内核》。
二、基本设置
准备工作完毕之后,现在做一些基本的设置。
1. 把Android源码路径<Android_ROOT>下的developmentideeclipse中的.classpath文件复制到<Android_ROOT>下;如果需要在模拟器中进行调试的话,需要复制三个img(具体方法见http://wenku..com/view/26d9063c87c24028915fc366.html)
2. 修改Eclipse的设置
修改eclipse.ini文件,更改下列内容:
[plain]view plain
-Xms40m
-Xmx384m
改为:
[java]view plain
-Xms128m
-Xmx512m
这里增大最小Java堆大小到128MB,增大最大Java堆大小到512MB。
三、Eclipse中创建工程
1. File > New > Java Project
㈡ 如何阅读android framework源码
由于工作需要大量修改framework代码,在AOSP(AndroidOpenSourceProject)源码上花费了不少功夫,Application端和Services端都看和改了不少.如果只是想看看一些常用类的实现,在Android包管理器里把源码下载下来,随便一个IDE配好SourceCode的path看就行.但如果想深入的了解Android系统,那么可以看下我的一些简单的总结.知识JavaJava是AOSP的主要语言之一.没得说,必需熟练掌握.熟练的AndroidApp开发LinuxAndroid基于Linux的,并且AOSP的推荐编译环境是Ubuntu12.04.所以熟练的使用并了解Linux这个系统是必不可少的.如果你想了解偏底层的代码,那么必需了解基本的Linux环境下的程序开发.如果再深入到驱动层,那么Kernel相关的知识也要具备.MakeAOSP使用Make系统进行编译.了解基本的Makefile编写会让你更清晰了解AOSP这个庞大的项目是如何构建起来的.GitAOSP使用git+repo进行源码管理.这应该是程序员必备技能吧.C++Android系统的一些性能敏感模块及第三方库是用C++实现的,比如:Input系统,Chromium项目(WebView的底层实现).硬件流畅的国际网络AOSP代码下载需要你拥有一个流畅的国际网络.如果在下载代码这一步就失去耐心的话,那你肯定没有耐心去看那乱糟糟的AOSP代码.另外,好程序员应该都会需要一个流畅的Google.一台运行Ubuntu12.04的PC.如果只是阅读源码而不做太多修改的话,其实不需要太高的配置.一台Nexus设备AOSP项目默认只支持Nexus系列设备.没有也没关系,你依然可以读代码.但如果你想在大牛之路走的更远,还是改改代码,然后刷机调试看看吧.高品质USB线要刷机时线坏了,没有更窝心的事儿了.软件Ubuntu12.04官方推荐,没得选.OracleJava1.6注意不要用OpenJDK.这是个坑,官方文档虽然有写,但还是单独提一下.安装:sudoapt-getinstallpython-software-propertiessudoadd-apt-repositoryppa:webupd8team/javasudoapt-getupdatesudoapt-getinstalloracle-java6-installersudoapt-getinstalloracle-java6-set-defaultEclipse估计会有不少人吐槽,为什么要用这个老古董.其实原因很简单,合适.刚开始搞AOSP时,为了找到效率最优的工具,我尝试过Eclipse,IntelliJIDEA,Vim+Ctags,SublimeText+Ctags.最终结果还是Eclipse.主要优点有:有语法分析(快速准确的类,方法跳转).支持C++(IntelliJ的C++支持做的太慢了).嵌入了DDMS,ViewHierarchy等调试工具.为了提高效率,花5分钟背下常用快捷键非常非常值得.调整好你的classpath,不要导入无用的代码.因为AOSP项目代码实在是太多了.当你还不需要看C++代码时,不要为项目添加C++支持,建索引过程会让你崩溃.IntellijIDEA开发App必备.当你要调试系统的某个功能是,常常需要迅速写出一个调试用App,这个时候老旧的Eclipse就不好用了.ItellijIDEA的xml自动补全非常给力.巨人的肩膀这个一定要先读.项目介绍,代码下载,环境搭建,刷机方法,Eclipse配置都在这里.这是一切的基础.这个其实是给App开发者看的.但是里面也有不少关于系统机制的介绍,值得细读.此老罗非彼老罗.罗升阳老师的博客非常有营养,基本可以作为指引你开始阅读AOSP源码的教程.你可以按照博客的时间顺序一篇篇挑需要的看.但这个系列的博客有些问题:早期的博客是基于旧版本的Android;大量的代码流程追踪.读文章时你一定要清楚你在看的东西在整个系统处于什么样的位置.邓凡平老师也是为Android大牛,博客同样很有营养.但是不像罗升阳老师的那么系统.的是一些技术点的深入探讨.Android官方Issue列表.我在开发过程中发现过一些奇怪的bug,最后发现这里基本都有记录.当然你可以提一些新的,有没有人改就是另外一回事了.一定要能流畅的使用这个工具.大量的相关知识是没有人系统的总结的,你需要自己搞定.其它代码组织AOSP的编译单元不是和git项目一一对应的,而是和Android.mk文件一一对应的.善用mmm命令进行模块编译将节省你大量的时间.Binder这是Android最基础的进程间通讯.在Application和Systemservices之间大量使用.你不仅要知道AIDL如何使用,也要知道如何手写Binder接口.这对你理解Android的Application和Systemservices如何交互有非常重要的作用.Binder如何实现的倒不必着急看.HAL除非你对硬件特别感兴趣或者想去方案公司上班,否则别花太多时间在这一层.CyanogenMod这是一个基于AOSP的第三方Rom.从这个项目的wiki里你能学到很多AOSP官方没有告诉你的东西.比如如何支持Nexus以外的设备.DIA这是一个Linux下画UML的工具,能够帮你梳理看过的代码.XDA这里有最新资讯和最有趣的论坛.想到了再补充.
㈢ 如何阅读android framework源码
如何阅读android framework源码? Android源码两个部分看得最多,一个是packages,就是各个系统应用的实现,另外就是framework,框架层的实现。 具体看什么就看你想了解什么。 工具eclipse也很好,build一下生成class path,各种转跳非常方便,可以看看安卓巴士的教程:http://www.apkbus.com/thread-464819-1-1.html
㈣ Play Framework 2.x怎么打包成war或者jar
play!framework使用netty作为网络框架,不使用tomcat等第三方web容器的
将Web应用打包成WAR文件的方法:
(1)在命令行中运用Jar命令
假定有一个Web应用:C:\myHome
myHome/WEB-INF/……
myHome/files/……
myHome/image/……
myHome/src/……
myHome/index.jsp
在命令行窗口下执行如下命令:
C:\cd myHome
C:\myHome\jar cvf myhome.war *.*/ .
解释:jar cvf[A-war包名].
war[B-资源文件及文件夹] [C-将要生成war包的目标文件夹]“
*.*/”(B-)代表当前目录(C:\myHome)下的所有文件及文件夹。“.
” (C-)表明将要在当前目录中生成war包。
操作完成后,找到C:\myHome下新生成的myhome.war,将其拷入TOMCAT_HOME/webapps/下。然后启动Tomcat即可。
(2)利用IDE工具打包,如Eclipse
右键点击你想打包的文件或者项目,选择“export”,然后是选择J2EE,在弹出的对话框中选择“WAR文件” ,上面有许多选项,还可以选“EAR”,“JAR”,个人觉得这个很方便的!
(3)利用ANT工具打包
首先配置好build.xml文件,然后dos下输入ant ...war
选中你的web工程,lomboz J2ee---Deploy Mole,就可以把Web工程发布并打包了!