android 中,一个项目工程引用另一个项目工程。

例如:已经有了一个Android工程A,我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A项目中方法等。


1. 把工程A做成纯Jar包,这样其他的工程就可以直接引用了。

但是,如果在工程A中用了R.java中的引用,则无法打成jar包了。原因是R.java是自动生成的,是动态的,每次编译都是不相同的。如果一定要做成jar包,就不能使用自动生成的R文件,用到资源时候就要写代码去获取。

有时会报错:Conversion to Dalvik format failed with error 1

可能是多层包文件重复导入,冲突。。。

这时可以试试方法2

2.将工程A做成android library project。

设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。

设置工程B,右键->Properties->Android,在Library中,点击Add按钮,将A工程加入,然后Apply。

此时在B中就引入了A中的资源和代码,这些资源和代码都可以直接调用。

需要注意的是,因为A已经不再是一个完整的Android应用,而是一个类库工程,所以有一些内容还需要在B中配置一下。

或者直接使用如下:

在B中project.properties记得加入

android.library.reference.1=../ResideMenu

这里的ResideMenu就是A项目的项目名字

----->如果不需要引用A工程的资源文件,同样只需得到jar文件,设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。在A工程的bin目录下能得到一个jar文件,可以copy到B工程中的libs目录下直接引用 如果能用jar当然最好,但是jar文件不能把res目录下的资源打包进去,所以才出现lib工程。

(注意:我们更改A工程中内容后,保存即可,B项目就可以调用,无需从新运行A, 同时注意用Run as 是无法作为android工程运行,除非去除 is library 选项)

欢迎进入探讨,android 学习群:191974931

更多相关文章

  1. Android中多媒体文件、文档以及各类文件的获取
  2. Android 超简单的录制屏幕视频及生成GIF文件的方法
  3. 《ZigBee开发笔记》第六部分 项目篇 基于ZigBee和Openwrt的智能
  4. Android 精选项目简介(可参考)
  5. 导入color文件中的颜色值 android
  6. Android中音频文件的使用
  7. Android播放ogg声音文件
  8. android 通过pull解析xml文件

随机推荐

  1. 垂直竖向的Android TabLayout
  2. android屏幕适配建议
  3. android的文件系统结构简单介绍
  4. Android中自定义标题栏样式的两种方法
  5. Android 桌面组件【widget】 初学
  6. Android 动态加载APK--代码安装、获取资
  7. Apache Ant 环境开发Android应用 二
  8. Gradle DSL method not found: 'android(
  9. Android中监听语言变化的两种方式
  10. android opengl floatbuffer