3

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

这是我的主要活动中的代码

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

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

setContentView(R.layout.authorize);

我确定某些东西没有正确设置以公开我的库中定义的资源。有任何想法吗?

4

2 回答 2

2

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

于 2012-05-17T17:20:54.420 回答
0

检查导入,您没有导入 android.R。否则,正如 mtmurdock 所说,检查您的项目是否正在构建,尝试清理它。您可能遇到 xml 错误。

于 2012-05-17T17:32:29.077 回答