OAuthログイン機能を含む独自のライブラリを作成+インポートしました。ライブラリのres/layoutフォルダに定義されている独自のレイアウト リソースauthorize.xmlで「setContentView(R.layout.authorize)」を呼び出す必要があります。(テスト アクティビティを使用して) 通常のプロジェクトとしてライブラリを実行すると、すべて正常に動作します。ただし、ライブラリを別のプロジェクトで使用すると、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);
ライブラリで定義されたリソースを公開するために、何かが正しくセットアップされていないと確信しています。何か案は?