Android 库使用自己的资源调用 setContentView,但失败并返回 "unable to resolve static field"

标签 android android-layout resources

我已经编写并导入了我自己的包含 OAuth 登录功能的库。它需要在自己的布局资源 authorize.xml 上调用 "setContentView(R.layout.authorize)",它在库的 res/layout< 中定义/em> 文件夹。如果我将库作为常规项目运行(使用测试 Activity ),一切正常。但是,如果我在另一个项目中使用该库,则会出现以下错误,表明找不到我的 authorize.xml 布局。

05-17 16:56:10.436: W/dalvikvm(212): VFY: unable to resolve static field 29 (twitter_authorize_webview) in Lcom/skworks/twitter/R$layout;
05-17 16:56:10.436: W/dalvikvm(212): VFY:  rejecting opcode 0x60 at 0x0003
05-17 16:56:10.436: W/dalvikvm(212): VFY:  rejected Lcom/skworks/twitter/AuthorizeActivity;.onCreate (Landroid/os/Bundle;)V
05-17 16:56:10.436: W/dalvikvm(212): Verifier rejected class Lcom/skworks/twitter/AuthorizeActivity;
05-17 16:56:10.436: W/dalvikvm(212): Class init failed in newInstance call (Lcom/skworks/twitter/AuthorizeActivity;)

这是我主要 Activity 中的代码

Intent i = new Intent(this, AuthorizeActivity.class);
i.putExtra("URL", mRequestToken.getAuthenticationURL());
this.startActivityForResult(i, TWITTER_AUTH);

显然这是在我的 AuthorizeActivity 类的 onCreate 中,在库中找到。

setContentView(R.layout.authorize);

我确定某些设置不正确,无法公开我的库中定义的资源。有什么想法吗?

最佳答案

您可能需要检查库的build设置。可能是它没有将布局文件打包到您的 jar/apk 中。也可能是使用库的项目没有将文件 bundle 到可交付的 apk 中。这就是我要开始寻找的地方。

关于Android 库使用自己的资源调用 setContentView,但失败并返回 "unable to resolve static field",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640350/

相关文章:

c# - 如何在不改变文化的情况下更改 c# winform 应用程序的资源文件?

android - 后台服务发布的事件没有订阅者

android - 改造:应为 BEGIN_ARRAY 但在第 1 行第 2 列为 BEGIN_OBJECT

android - 拒绝外设触摸输入

python - 在 Python 中,如何将资源派生设置为具有扩展名的文件以在 Mac OS X 下打开另一个应用程序

android - 我们如何在 android 中拥有条件资源值?

android - 无法使用 BroadcastReceiver 捕获 android.intent.action.DELETE

java - TabHost 显示一次内容 (onCreate)

android - 使用宽度 Android Studio 的布局权重时调整高度

java - AppCompat 不支持当前主题