Android 使用jar中的资源(Facebook SDK作为jar)

Android 使用jar中的资源(Facebook SDK作为jar),android,facebook,sdk,resources,Android,Facebook,Sdk,Resources,我在自己的项目中使用Facebook SDK项目,将其作为库添加到我的工作区中,如: 项目属性->安卓->添加..->Facebook SDK 像这样,我可以访问这个项目中的类和资源。例如,在我的一个布局文件中,我有: android:drawable="@drawable/com_facebook_loginbutton_blue_normal" 但是如果我想改变我使用Facebook SDK项目的方式,并将其导出为jar文件,然后将其添加到我应用程序中的libs文件夹中,我有一个错误:

我在自己的项目中使用Facebook SDK项目,将其作为库添加到我的工作区中,如:

项目属性->安卓->添加..->Facebook SDK

像这样,我可以访问这个项目中的类和资源。例如,在我的一个布局文件中,我有:

android:drawable="@drawable/com_facebook_loginbutton_blue_normal" 
但是如果我想改变我使用Facebook SDK项目的方式,并将其导出为jar文件,然后将其添加到我应用程序中的libs文件夹中,我有一个错误:

error: Error: No resource found that matches the given name (at 'drawable' with value '@drawable/com_facebook_loginbutton_blue_normal').

如何访问jar文件中的资源?

据我所知

这是因为该可绘制资源位于与您的不同的包中,请尝试使用完整的包名访问它

编辑

我的意思是添加

android:drawable="@packageName:drawable/com_facebook_loginbutton_blue_normal"
像这样:-

android:drawable="@com.google.android:drawable/com_facebook_loginbutton_blue_normal"
我不知道Android SDk中定义了什么包名,所以相应地更改包名


希望这能有所帮助。

简单的回答是,你不能。FacebookSDK是一个android库,目前正作为android库发布,应该作为android库使用。尝试将其作为jar文件导入将不起作用。您是否有特定的用例要求您只使用jar库?

您有什么建议?对不起,我迷路了。在我的罐子里,路径是:res->drawable->name_of_picture在我的例子中,我会有:'@com.facebook.android:drawable/com_facebook\u loginbutton\u blue\u pressed',但仍然不工作:找不到与给定名称匹配的资源(在'drawable'处,值为'@com.facebook.android:R$drawable/com\u facebook\u loginbutton\u blue\u presseed')).您是否正确导入了该外部jar文件。如果您的问题已解决,请告诉我。谢谢您的提示,但仍然无法正常工作。同样的错误:“没有找到与给定名称匹配的资源…”我检查了我的jar,路径是正确的。我还检查了R.java文件,这张图片就在那里。在res/drawable内部,图片就在那里。jar文件中似乎一切正常,但不知何故我们找不到它。更新后的帖子,plz checkAndroid使用库项目来解决资源问题。库项目负责将所有资源合并到最终的APK中,并确保它们都可以通过ID访问。ID是整数(在查看生成的R文件时可以看到)。这些在APK中必须是唯一的,所以除非以完全不同的方式加载它们,否则不可能将它们捆绑到jar中。(getResourceAsStream()但这很糟糕,因为它不能处理屏幕大小和分辨率问题。)我只是想让我的项目独立。如果我需要与其他人同步我的项目,其他用户将需要为主要项目工作导入项目Facebook SDK。