怎样使用Eclipse来开发Android源码

    怎样使用Eclipse来开发Android源码


    用eclipse+ADT作为android开发工具,可以说是很方便的,在HelloActivity小程序里我们就感觉到eclipse功能的强大。那么,我们可以用 eclipse来开发android源码吗?如果我们直接把android源码里一个工程导入eclipse,一般来说都会出现错误,说许多类库(包)找不到。

    今天找到关于怎样使用eclipse来开发android源码的官方文档:

    https://sites.google.com/a/android.com/opensource/using-eclipse
    从该文档和实践可以总结出几点:


    1、可以使用eclipse来编辑JAVA程序、检查错误(主要是类库包含和语法方面),但是不能在eclipse上编译运行android源码,还是得在shell中make(或mm或mmm)


    2、android源码文件夹里提供有一些eclipse配置文件,
    .claapath:eclipse工程的配置文件,方便我们直接把android源码相应的文件和JAVA包导入工程
    android-formatting.xml和android.importorder:这个很重要,主要是用来规范我们的编码风格,更容易使我们的代码风格一致


    3、把android源码作为一个工程导入eclipse时,必须注意两点
    1)、新建的工程必须是java project,不能是android project,否则会破坏android源码(一般是多添加文件/文件夹)
    2)、导入前最好检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹)
    总的来说:
    1、用eclipse来编辑代码、检查错误
    2、不在eclipse上编译、运行android源码程序,只能在命令行通过make(或mm或mmm)编译android源码
    3、可以在eclipse上调试android源码程序(原理:eclipse通过ddms服务器在emulator上进行调试),并可以单步调试、断点调试。


    下面,从官方文档总结出具体怎样用eclipse来开发android源码
    1、建立基本的android开发环境
    请参考官方文档或<android模拟器在ubuntu8.10的安装>
    2、编译android源码
    android源码根目录下通过make进行编译,请注意一些配置,具体可参考<android源码的编译>
    3、把eclipse工程配置文件复制到android源码根目录下
    cp development/ide/eclipse/.classpath ./
    chmod u+w .classpath  # Make the copy writable
    4、修改eclipse程序的配置
    1)、修改eclipse缓存设置
    把eclipse.ini(在eclipse软件的安装目录下)的3个值改为下面的值:
    -Xms128m
    -Xmx512m
    -XX:MaxPermSize=256m
    2)、把android-formatting.xml和android.importorder导入eclipse
    android-formatting.xml、.classpath和android.importorder都放在development/ide/eclipse/下
    android-formatting.xml用来配置eclipse编辑器的代码风格;android.importorder用来配置eclipse的import的顺序和结构。
    在window->preferences->java->Code style->Formatter中导入android-formatting.xml
    在window->preferences->java->Code style->Organize Imports中导入android.importorder
    3)、安装anyedit插件(可选)
    在http://andrei.gmxhome.de/anyedit/下载并导入eclipse中


    5、把android源码作为一个工程导入eclipse
    导入前先检查.classpath里的文件在android源码中是否有相应的文件(文件夹),否则也会破坏android源码(一般是多添加文件/文件夹),.classpath里多余的路径可删除
    新建Java Project(不是android project,否则会破坏android源码),选择从已存在的工程导入,工程名任意,完成。
    导入时,eclipse要build工程,比较慢。导完后,一般都没有错误。


    6、eclipse上调试android里的程序。
    先执行:
    cd android源码目录
    . build/envsetup.sh
    lunch 1   # to build the emulator
    emulator &  # you should see a GUI picture of a phone
    ddms &     # you should get a splufty debugging console
    然后在eclipse中配置调试类型和端口:
    在Run->Debug Configurations->Remote java application上双击,然后,”Host:”设为localhost,”Port:”设为8700,”Connection Type”为Standard(Socket Attach)
    然后“Apply”
    注意,在点击”Debug”时苦出错,说8700端口被占用,那么把DDMS程序关掉,重新打开DDMS就OK了。如果提供连不到VM错误时,请注意,要先在DDMS中选中某一进程(对应某一应用程序),才能在eclipse执行 Debug。
    在eclipse调试时,可以设断点、单步调试。估计google团队也是这样开发、调试android应用程序的


    7、编译android源码
    执行:
    cd android源码目录
    . build/envsetup.sh
    那么就会多出mm/mmm等命令,mm/mmm用来编译模块(包括C、C++、JAVA程序)。我们也可以直接在 android源码根目录下执行“make 模块名”来编译模块。

转载于:https://www.cnblogs.com/gxaedu/archive/2011/03/07/1974100.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/495577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解析:GE工业互联网平台Predix

来源:赛迪智库摘要:当前,工业互联网平台作为我国构建工业互联网生态的核心载体,成为推动制造业与互联网融合的重要抓手。早在2012年GE提出工业互联网的概念,随后推出Predix,要将GE在工业领域的技术设备硬件…

小甲鱼 OllyDbg 教程系列 (十三) : 把代码和变量注入程序 以及 硬件断点

小甲鱼 OllyDbg 视频教程:https://www.bilibili.com/video/av6889190?p21 程序下载地址:https://pan.baidu.com/s/1A4-BDgbdUgy-cmI4IMMzYw 提取码:jsdv 开始,按照惯例,首先用 PEiD 打开,看下是什么语…

Guava入门~CacheBuilderSpec

示例 package bbejeck.guava.chapter6.cache;import bbejeck.guava.common.model.TradeAccount; import bbejeck.guava.common.service.BookServiceImpl; import bbejeck.guava.common.service.TradeAccountService; import com.google.common.base.Ticker; import com.google…

初识C#

Timer转载于:https://www.cnblogs.com/changweihua/archive/2011/03/07/1974171.html

小甲鱼 OllyDbg 教程系列 (十四) : 模态对话框 和 非模态对话框 之 URlegal 和 movgear

小甲鱼 OD 使用教程:https://www.bilibili.com/video/av6889190?p22 exeScope 下载:https://pan.baidu.com/s/1dSWapltdQsX9ttl_lSoq_g 提取码:yz2p URlegal 下载:https://pan.baidu.com/s/1Ljbvsnk_1Ps0e-cp7a1F9A 提取码…

这两年的人工智能淘金热 真正赚钱的公司是这几家

编译:网易智能人工智能已经成为人们热捧的对象,正在我们中间掀起一股“淘金热”,但真正从中获得经济利益的人是谁呢?是那些争相成为淘金者的大多数创业公司吗?是那些广泛从事“掘金业务”的公司吗?还是那些…

Swiftfox:极速的冲浪体验

Toy Posted in Apps将 Firefox 针对特定的处置惩罚器进行优化之后,便成了 Swiftfox。行使 Swiftfox,无论是启动次第本人,还是阅读网站内容,都能让你觉取得一股强烈的极速之风。更爽的是,你之前所用的 Firefox 设置、主…

小甲鱼 OllyDbg 教程系列 (十五) : 逆向注册机简单算法

小甲鱼 OD 教程: https://www.bilibili.com/video/av6889190?p24 KeygenMe 下载地址:https://pan.baidu.com/s/1gXAscM3WCNpIqxIm5t1rrQ 提取码:z5in 前言 用 OD 打开程序 输入框 常用 API,当不知道是哪个时,可…

以大自然为师,可上天入地的11款仿生机器人

来源:资本实验室尽管人类已经借助科技的力量改造了世界,但许多技能仍然为人类所不拥有,很多恶劣的环境仍然是人类的禁区。而经过大自然的“公平选择”,使得某些生物具有我们所不具备的独特“技能”“,也适合在人类难以…

Guava入门~CacheStats

构建缓存对象时调用recordStats()&#xff0c;指定可以做缓存统计 LoadingCache<String,TradeAccount> tradeAccountCache CacheBuilder.newBuilder().recordStats() 获取缓存统计结果 CacheStats cacheStats cache.stats(); 示例 package bbejeck.guava.chapter6…

Linux下细碎温度等的监控与调整

作者: zhania 出自: http://www.linuxdiyf.com 装tp-fancontrol&#xff0c;限制一下gpu的温度ubuntuCPU的温度cat /proc/cpuinfo显卡温度 有个sensor applet&#xff0c;装了都能透露表现在终端里运转cpufreq-info检察CPU信息 sudo cpufreq-selector -c cpu号梗概 sudo cpufr…

深度分析:区块链技术未来发展的 8 个趋势

来源&#xff1a;36氪CB Insigh日前发表了一份关于区块链技术的研究报告&#xff0c;结合区块链目前的发展现状&#xff0c;提出了区块链技术未来发展的8个趋势。虽然加密货币和加密资产的价格已从2017年的峰值回落&#xff0c;但区块链创业公司的股权投资&#xff0c;在2018年…

小甲鱼 OllyDbg 教程系列 (十六) : 简单病毒的逆向分析

小甲鱼 OD 教程&#xff08; 多态 和 变形 分析 &#xff09;&#xff1a; https://www.bilibili.com/video/av6889190?p25 https://www.bilibili.com/video/av6889190?p26 ReverseMe Tutorial.zip&#xff1a;https://pan.baidu.com/s/1xOUvXqX6lVdcCwQvpql…

Oracle 9i 在 Red Hat 7.1 和 7.2 上的装配

泉源&#xff1a;网海拾贝 本文是我在 Red Hat 7.1 &#xff08;内核版本&#xff1a;2.4.2-2 &#xff09;和 7.2&#xff08;内核版本&#xff1a;2.4.7-10&#xff09; 上装配 Oracle 9i (9.0.1) 数据库的总结&#xff0c;要是需求更多的信息请参考 Oracle 的文档&#xff1…

Guava入门~RemovalListener

RemovalNotification 实现Map.Entry接口 getCause()获取RemovalCause 1.COLLECTED: key或value被垃圾回收&#xff1b; 2.EXPIRED:已过期&#xff1b; 3.EXPLICIT:手动移除&#xff1b; 4.REPLACED:被替换&#xff1b; 5.SIZE:超过了最大限制数量。 package bbejeck.gu…

反调试技术揭秘(转)

在调试一些病毒程序的时候&#xff0c;可能会碰到一些反调试技术&#xff0c;也就是说&#xff0c;被调试的程序可以检测到自己是否被调试器附加了&#xff0c;如果探知自己正在被调试&#xff0c;肯定是有人试图反汇编之类的方法破解自己。为了了解如何破解反调试技术&#xf…

全文解析:面向基于区块链的「机器人经济学」概念中,如何验证自主智能体的行为?...

原文来源&#xff1a;arXiv作者&#xff1a;Konstantin Danilov、Ruslan Rezin、Alexander Kolotov、 Ilya Afanasyev「雷克世界」编译&#xff1a;嗯~是阿童木呀、KABUDA、EVA随着AI技术的发展&#xff0c;自主智能体在速度和精确度方面有了很大的提升&#xff0c;变得更加智能…

Ajax--让网站与时俱进

一。加载数据1.追加Html$(#dictionary).load(a.html);2.操作JavaScript$.getJSON(b.json,function(){});3.加载XML文档$.get(d.xml,function(data){});二。选择数据格式&#xff1a;Html:不需要与其它程序共享数据的情况下&#xff0c;以HTML片段提供外部数据。JSON:数据可重用…

小甲鱼 OllyDbg 教程系列 (十七) : 反调试

小甲鱼 OD 教程&#xff1a;https://www.bilibili.com/video/av6889190?p27 ReverseMe.A.B.C.D 下载地址&#xff1a;https://pan.baidu.com/s/1_aVUa6aDATSpE6bQgc6hLA 提取码&#xff1a;ebo2 [调试篇] 调试篇 - 第二十二讲 - OD使用教程22&#xff08;视频课件试验程序…

一张图看懂微软人工智能

来源&#xff1a;微软科技摘要&#xff1a;对于微软人工智能&#xff0c;你了解多少&#xff1f;是Cortana&#xff1f;是小冰&#xff1f;还是机器翻译&#xff1f;看完下面这张信息图&#xff0c;你会发现你所了解的&#xff0c;很可能只是冰山一角。看完你是否想要立刻参加微…