转:http://blog.csdn.net/laihuan99/article/details/9054985

很多新手朋友朋友在Github搜索开源项目时,有时候不明白怎么导入eclipse。的确,有的时候那些项目只有源码,要自己打包JAR或连接Library使用,新手朋友是摸不到头脑的。我简单的归纳如下:

第一类:直接项目

这类是最简单的。你一看就知道是个android项目源码。 例子:看雪论坛https://github.com/kanxue-team/kanxue-android-app 操作:你可直接下载,解压,直接Import进eclipse就可编译运行了。

第二类:Library和演示代码合体

这类一般是某小组件的项目源码(结构如图1),在文件列表中,一般可看到两个文件夹,一个是Library,一个是demo。其中Library是组件项目的源代码,而demo只是一个简单的演示使用组件的代码。

例子:pulltorefresh组件 https://github.com/johannilsson/android-pulltorefresh 图1 操作: ①我们以pulltorefresh为例子,你可直接下载,解压至一个目录如“E:…/ android-pulltorefresh-master”,如图1可可知,pulltorefresh为Library,而pulltorefreshexample为演示demo。

②Eclipse导入android-pulltorefresh-master目录,注意导入此目录时,会显示导入两个项目pulltorefresh和pulltorefreshexample,我们两个都要勾选导入。

③设定pulltorefresh为 Library。右击pulltorefresh项目点击Properties-->点击左侧框内的”android”-->右下界面点击选中“Is Library”复选框-->点OK完成。 ④pulltorefreshexample项目导入Library。在pulltorefreshexample项目下打开与AndroidManifest.xml同一目录下的project.properties文件。 添加一行:android.library.reference.1=../pulltorefresh/ 其是指定一个要引用的library的目录,可用绝对和相对路径,此例中“..”代表当前目录的上一级(既E:…/ android-pulltorefresh-master目录),“../pulltorefresh/”既我们的pulltorefresh项目的目录了。

第三类:打包jar文件使用

这类一般是某小组件的项目源码,在文件列表中,一般只有项目的源代码,没有演示代码(使用在说明文档)或演示代码不能直接使用。我们需要把源代码自己打包成jar文件,供我们项目使用。(另一种很好的方案是library,在你项目如第二类第四步那样直接引用此源代码)

例子:async-http组件https://github.com/loopj/android-async-http 操作:

①你可直接下载,解压,直接Import进eclipse。但注意你是不能运行的。 看到project.properties文件里的“android.library=true”了吗,它就是个library。

②打包jar。可以在eclipse的File->Export->Java->JAR file里打出jar文件。弹出的对话框设置如下:

只需选src和assets文件夹,由侧配置文件不选。输出文件修改JAR file即可。点Finish完成。

③你的项目导入jar包。直接把生成的library.jar放入“libs”,注意在此目录的JAR,elipse会自动配置,“libs”目录名不可更改,否则需手动配置。

Github安卓开源项目编译运行的更多相关文章

  1. github优秀开源项目大全-iOS

    github优秀开源项目大全-iOS APR 25TH, 2014 前言 本文旨在搜集github上优秀的开源项目 本文搜集的项目都是用于iOS开发 本文会持续更新… 完整客户端 ioctocat g ...

  2. 如何在github下载开源项目到本地(Coding iOS 客户端为例)

    一.前言 以 Coding iOS 客户端 为例讲解如何在github下载开源项目到本地 github地址:https://github.com/Coding/Coding-iOS 二.分析 根据项目 ...

  3. 参与github上开源项目的大致流程和注意事项

    Foreword github是一个很火的代码托管服务网站,可能好多人都想参与一两个项目玩一玩学习一下,但由于是纯英文的网站,可能又会止步于想法上没有动手实践.接下来我就介绍一下参与github上开源 ...

  4. 使用maven编译dubbo,导入eclipse(其他maven开源项目编译类似)

    dubbo github下载地址:https://github.com/alibaba/dubbo 相关文档:http://dubbo.io/ 使用maven编译dubbo,导入eclipse(其他m ...

  5. OpenDigg安卓开源项目月报201704

    由OpenDigg 出品的安卓开源项目月报第一期来啦.我们的安卓开源月报集合了OpenDigg一个月来新收录的优质安卓开源项目,方便安卓开发人员便捷的找到自己需要的项目工具. DiscreteScro ...

  6. qt 旧项目编译运行提示 “启动程序失败,路径或者权限错误?” 原因及解决方法

    qt 旧项目编译运行提示 "启动程序失败,路径或者权限错误?" 原因及解决方法 原因 Qt Creator在打开项目文件的同时会生成.pro.user文件,.pro.user文件叫 ...

  7. GitHub Android 开源项目汇总 (转)

    转自:http://blog.csdn.net/ithomer/article/details/8882236 GitHub 上的开源项目不胜枚举,越来越多的开源项目正在迁移到GitHub平台上.基于 ...

  8. React Native开源项目如何运行(转载)

    学习任何技术,最快捷的方法就是学习完基础语法,然后模仿开源项目进行学习,React Native也不例外.React Native推出了1年多了, 开源项目太多了,我们以其中一个举例子.给大家演示下如 ...

  9. Android github上开源项目、酷炫的交互动画和视觉效果地址集合

    Android上开源的酷炫的交互动画和视觉效果:http://blog.csdn.net/u013278099/article/details/50323689 Awesome-android-ui: ...

随机推荐

  1. Java断言绝对不是鸡肋

    在防御式编程中经常会用断言(Assertion)对参数和环境做出判断,避免程序因不当的输入或错误的环境而产生逻辑异常,断言在很多语言中都存在,C.C++.Python 都有不同的断言表示形式.在Jav ...

  2. Java+大数据开发——Hadoop集群环境搭建(一)

    1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据的存储,集群中的角色主要有 NameNode / DataN ...

  3. 如何去掉Autodesk教育版印戳

    在打开一些CAD图形文件的时候,有时会遇到这样的提示: 当我们打印图形的时候,就会在标题栏显示"由Autodesk教育版产品生成",这个标题据说是用盗版CAD文件造成的,虽然我们用 ...

  4. grid - 网格线命名

    通过grid-template-rows和grid-template-columns定义网格时,网格线可以被命名.网格线名称也可以设置网格项目位置. grid-template-rows和grid-t ...

  5. cache line 伪共享

    https://blog.csdn.net/qq_27680317/article/details/78486220认识CPU Cache CPU Cache概述 随着CPU的频率不断提升,而内存的访 ...

  6. SpringCloud Stream生产者配置RabbitMq的动态路由键

    在写这个文章前不得不吐槽目前国内一些blog的文章,尽是些复制粘贴的文章,提到点上但没任何的深入和例子.......... 经过测试下来总结一下RabbitMQ的Exchange的特性: 1.dire ...

  7. Swap 分区的2种方式 详解与例子

    安装完Linux系统后,swap分区太小怎么办,怎么可以扩大Swap分区呢?有两个办法,一个是从新建立swap分区,一个是增加swap分区.下面介绍这两种方法: 第一您必须有root权限,过程中一定要 ...

  8. Java中apache下面FtpClient主动模式和被动模式

    最近在做ftp文件上传的时候,开发测试环境上传都没有问题,但是在开发环境缺无法上传,但是也没有报错,纠结了老久.最后看到网上有说FtpClient有主动模式和被动模式之分,然后就解决了. FTPCli ...

  9. Vue(九):样式绑定v-bind示例

    Vue.js class class 与 style 是 HTML 元素的属性,用于设置元素的样式,我们可以用 v-bind 来设置样式属性. Vue.js v-bind 在处理 class 和 st ...

  10. IOS项目目录结构和开发流程

    网上相关的资源不多,开源的且质量还不错的iOS项目也是少之又少,最近正好跟同事合作了一个iOS项目,来说说自己的一些想法.   目录结构 AppDelegate Models Macro Genera ...