0

Android プロジェクトをライブラリとして使用できなかった後 (詳細が必要な場合はこれを参照してください)、プロジェクトの JAR ファイルをエクスポートし、(作成して)「libs」フォルダーに追加しました。また、JAR ファイルをプロジェクトのビルド パスに追加しました。

しかし、次のランタイム エラーが発生しました。

04-09 00:40:40.209: E/AndroidRuntime(20499): FATAL EXCEPTION: main
04-09 00:40:40.209: E/AndroidRuntime(20499): java.lang.RuntimeException: Unable to
start activity ComponentInfo{com.example.android.tictactoe/com.example.android.tictactoe.library.GameActivity}:
java.lang.ClassCastException: android.widget.Button cannot be cast
to com.example.android.tictactoe.library.GameView

簡単なチェックの後、私が libs に持ってきた JAR ライブラリには、メイン プロジェクトのリソース ID と同じリソース ID が定義されていることがわかりました。その結果、Button (TicTacToeMain 内) と GameView (TicTactToeLib 内) は同じ ID 番号を取得しました。

解決策、誰ですか?

4

1 に答える 1

0

私が見つけた唯一の解決策は、ライブラリを Android プロジェクト ライブラリとして機能させることです (is libraryプロジェクトのプロパティでマークされています)。

ライブラリ プロジェクトをターゲット プロジェクトに (再びプロジェクトのプロパティを介して) 追加して適用すると、ライブラリの R クラスが再番号付けされ、ターゲット プロジェクトに追加されます。

そうは言っても、Eclipseを使用している間、参照ライブラリプロジェクトが受け入れられるようにするのに少し時間がかかりました。ライブラリ プロジェクトを数回 (何度も) 試行し、完全に削除して再作成した後、[適用] を押したときにライブラリ参照が「受け入れられ」、すべてが完全に機能しました。ライブラリが「承認」されるまでの私の試練について詳しく知りたい場合は、この投稿
をすべて読んでください。

于 2013-04-26T15:06:30.313 に答える