之前一直很头疼,因为无法在多个程序中共享资源。作为公共类库使用的方法也是导出jar再导入的方法。现在终于想通了,也算是解脱了吧~,分享一下。创建公用库首先为公用库创建一个Android工程,命名为MyCoreLib:完成后,在左侧包浏览器中右键新建工程,选择Properties项:选择左侧Android类,然后勾选右边的IsLibrary选项:完成后删除packageexplorer中默认生成的资源,以免以后引用时冲突:打开AndroidManifest.xml,删除下图中红色部分的代码:添加测试资源,并创建初始空库。现在让我们添加一个资源供其他程序使用。我这里只添加了一个名为libName的字符串资源:创建一个测试项目并引入公共库现在新建一个名为LibTest的项目尝试调用公共库:或者右键点击项目选择Properties:仍然选择Android类左边的,点击右边的添加按钮,将MyCoreLib类库添加到项目中:完成后,会添加到项目中:这时候也可以看到gen目录下已经存在MyCoreLib了packagenameanditsresourceID:但是这时候你会发现字符串资源中莫名其妙的多了两个之前删除的资源。这其实是因为引用的资源和程序默认包中的资源已经混在一起了,可以看到上面默认包中的资源ID和下面这里一模一样。也就是说,你可以直接以使用本地资源的方式调用引用的资源。例如修改AndroidManifest.xml中的资源如下:在java代码中,也可以使用调用默认资源的方式直接调用。当然你也可以显示添加到公共库中的包名来调用;但是添加显示包的name方法在xml文件中不起作用,多次尝试都找不到资源。也就是说,在XML中,公共库资源只能通过调用默认包资源来调用。编译运行效果:可以看到我们之前在公共库中设置的资源内容都正确显示了。结束语这种调用方式不仅可以调用资源,而且公共代码编辑也比jar方式方便很多,非常实用。这个方法在网上找了半天也不知道。这时突然想起了Scoreloop的引用方法,终于想通了。原文链接:http://skyd.cnblogs.com/
