(七十一)android中一个工程引用另一个工程

现在已经有了一个Android工程A,我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A。通常有两种方法实现:

1、把工程A做成纯Jar包

右键工程-->Export-->点击Java--->JAR file--->Next-->勾选src包即可,其他项不选-->点击finish即可生成jar文件。

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

2、把工程A做成android library project

设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。设置工程B,右键->Properties->Android,在Library中,点击Add按钮,将A工程加入,然后Apply。此时在B中就引入了A中的资源和代码,这些资源和代码都可以直接调用。需要注意的是,因为A已经不再是一个完整的Android应用,而是一个类库工程,所以有一些内容还需要在B中配置一下。比如A中有lib库引用,则B中也要加入该lib库;比如A中的AndroidManifest.xml文件的内容,在B的AndroidManifest.xml文件中也要相应加上。。。

如果不需要引用A工程的资源文件,同样只需得到jar文件,设置工程A,右键->Properties->Android,将Is library项选中,然后Apply。在A工程的bin目录下能得到一个jar文件,可以copy到B工程中的libs目录下直接引用。

参考自:http://blog.csdn.net/lixin88/article/details/8609575

时间: 2024-08-25 18:48:31

(七十一)android中一个工程引用另一个工程的相关文章

Android工程:引用另一个Android工程的方法详解

本篇文章是对在Android中引用另一个Android工程的方法进行了详细的分析介绍.需要的朋友参考下 现在已经有了一个Android工程A.我们想扩展A的功能,但是不想在A的基础上做开发,于是新建了另外一个Android工程B,想在B中引用A. 一个思路是把工程A做成纯Jar包,这样其他的工程就可以直接引用了. 但是,如果在工程A中用了R.java中的引用,则无法打成jar包了.原因是R.java是自动生成的,是动态的,每次编译都是不相同的.如果一定要做成jar包,就不能使用自动生成的R文件,

wpf资源嵌套,一个资源引用另外一个资源,被引用的资源应该声明在前面

在wpf的XAML的Window.Resources中,一个资源引用另外一个资源,出现如下错误: “错误 1 “{DependencyProperty.UnsetValue}”不是 Setter 上“System.Windows.FrameworkElement.FocusVisualStyle”属性的有效值”. 如下图: 虽然错误列表里出现如图的错误,但是程序缺依然可以运行,只是在设计器里看不了UI视图(界面). 出现这个错误的原因是: 被引用的资源的声明在引用它的资源的后面了(或者是没有声明

Eclipse java中一个工程引用另一个工程的类

最近写代码在写一个tools的工程,打算把平常用到的自己写的工具类都放在里面. 所以就出现了一个工程使用到tools工程中的类使如何引用 比如 tools工程为 project tools ,现在要使用工具工程中的类的工程为project aa 那么右击aa,properties->java build paths->project->add 选择tools 即可对project tools 中类进行引用.

Android中如何优雅地自定义一个View

Android中自定义View的实现比较简单,无非就是继承父类,然后重载方法,即便如此,在实际编码中难免会遇到一些坑,我把自己遇到的一些问题和解决方法总结一下,希望对广大码友们有所帮助. 注意点① 用xml定义Layout时,Root element 最好使用merge 当我们需要继承一个布局比较复杂的ViewGroup(比较多的是LinearLayout.RelativeLayout)时,通常会用xml来写布局,然后在自定义的View类中inflate这个定义了layout的xml文件. 首先

Android笔记(七) Android中的布局——相对布局

RelativeLayout又称为相对布局,也是一种常用的布局形式.和LinearLayout的排列规则不同,RelativeLayout显得更加随意一下,它通常通过相对定位 的方式让控件出现在布局的任何位置.也正是因为如此,RelativeLayout中的属性非常多,不过这些属性都是有规律可循的. 我们通过代码来看: relativelayout.xml <?xml version="1.0" encoding="utf-8"?> <Relati

Android中资源的引用

R.java简单来说就是资源 R.java会自动收录当前应用中所有的资源,并根据这些资源建立对应的ID,包括:布局资源.控件资源.String资源.Drawable资源等 可以理解把所以资源按规则存放在R.java资源里,相当于字典,当文件需要是在引用 引用values中的资源 xml文件引用资源: android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIco

eclipse中一个项目引用另一个项目的方法

有时候我们一个项目会依赖于另一个项目的类库和资源,如下图项目pds-prrs依赖于pds-fw和pds-srv中的类和包 想要在pds-prrs中引入其他两个项目的方法为: 右键pds-prrs->build path->configure build path->project选项卡->.点击add,将另外两个项目加入即可 效果如下

android 中在activity弹出一个对话框,并不会执行onpause生命周期方法

在实际的应用开发中,我们可能会在onResume中进行网络交互,在网络交互的过程中免不了使用Progressdialog,那么现在问题来了,在我们弹出一个进度对话框的时候如果我们的activity的onpause生命方法得到执行,然后在数据加载完毕,对话框进行消失的时候,activity的onResume再次得到执行,然后再次请求网络,这样一个恶性循环就开始了,这样的错误实在是太严重了,当然了上面只是在我的想象之中,然后就用代码实验了下,在弹出一个对话框的时候我们activity的onpause

一个.py引用另一个.py中的方法

处理函数 X_Add_Y_Func.py 1 #__author__ = 'Administrator' 2 def add_func(x, y): 3 return x+y 调用函数 X_Add_Y_Func_Test.py 1 #__author__ = 'Administrator' 2 from X_Add_Y_Func import add_func 3 4 print("from X_Add_Y_Func import add_func") 5 print("re