[转载]android-library_东京大雪_新浪博客.
用eclipse开发的话,在工程右击-properties-Android最下面,有个Is library,选择后-apply确定,就是将此工程公开可以给别的工程使用,比如别的工程通过同样的步骤,在Is library旁边有个add按钮,点击后就可以将刚才选择了Is library的工程添加进来。那么你就可以在gen文件夹下面看到出现了一个新的包名,新的R文件,就是你选择Is library的包名以及R文件,你就可以通过使用那个共享工程的资源了。这个一般会使用在可以换肤的项目中或者是项目蛮大,有个工程专门用来存放资源,别的有4-5个工程都可以使用此共享资源。
另外一种就相当于链接库了:
可以链接jar包文件,工程右击-properties-Java Build Path-Libraries-Add JARs/Add library可以导入jar包供程序使用。
创建Android library,并且在工程中使用此library提供的资源,具体步骤如下:
1. 创建一个Android工程,命名为MyLib
2. 进入工程设置 properties-Android 选中Is Library
3. 创建另一个Android工程,命名为MyProj
4. 进入工程设置,添加MyLib
5. 在MyProj的AndroidManifest.xml中加入对library中activity的引用
<activity android:name=”net.devdiv.mylib.MyLib” />
6. 由于编译后library中的资源和引用它的project资源是合并在一起的,为了避免重名问题,需要对library中资源进行重命名
1). 把main.xml改为mylib.xml,同时修改MyLib.java代码setContentView(R.layout.mylib);
2). strings.xml修改为
<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
</resources>
7. 在MyProj中引用MyLib的资源
package net.devdiv.myproj; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; import net.devdiv.mylib.*; import android.content.Intent; public class MyProj extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); TextView tv = (TextView)findViewById(R.id.myprojtext); tv.setText(R.string.mylibhello); Intent it = new Intent(this, MyLib.class); startActivity(it); } }