2

プロジェクトに他の人のライブラリを実装しようとしています。GitHub からソースをダウンロードし、ライブラリ プロジェクトから .jar を作成し、それをサンプル プロジェクトにインポートしましたが、正常に動作し、すべて呼び出しました。

ここで、同じ .jar を同じ方法でプロジェクトに追加しました。XML でオブジェクトを呼び出すと、次のようになります。

/AndroidRuntime(983): android.view.InflateException: バイナリ XML ファイルの行 #12: クラス net.simonvt.widget.NumberPicker の膨張エラー

プロジェクト内で .jar ファイルから .xml を開こうとすると、それができません (おそらく大丈夫です。これまで試したことがないので)。

ここでいくつかのソリューションを読み、.xml ビューを次のように変更しようとしました。

<view class="net.simonvt.widget.NumberPicker$number_picker"
    android:id="@+id/npAge"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

しかし、同じように、アプリがクラッシュします。

質問>

  1. 適切にビルドされた場合、.jar ファイルで十分ですか、それとも「ソース」を何らかの方法でインポートする必要がありますか?
  2. 誰かのコードをプロジェクトにエクスポート/インポートする適切な方法は何ですか? .jar を作成して libs フォルダーに追加するのが適切な方法だと思っていましたが、この不足している .xml がわかりません

ご覧のとおり、simonvt Number picker はよく知られているので、これをインポートしようとしたのは私が初めてではないと思います。

Tnx が助けてくれました。

編集 1: OK、.jar をリンクするか、プロジェクトを「ライブラリ」プロジェクトとしてリンクするかに関係なく、特定のレイアウト .xml をライブラリからメイン プロジェクトにコピーする必要があるようです。表示されると、ダイアログがフリーズし、新しいシステム ダイアログがポップされ、アプリを待機/停止するメッセージが表示されます。

4

3 に答える 3

3

あなたが参照している github プロジェクトは、Android ライブラリ プロジェクトとしてインポートする必要があると思います。

基本的に、Android ビルド ツールはリソース (res/ ディレクトリ内のファイル) を認識できないため、ライブラリ ソースから .jar ファイルをビルドすることはできません。

必要なことは、ライブラリをAndroid ライブラリ プロジェクトとして参照することです。これは簡単です。次の手順に従ってください: http://developer.android.com/tools/projects/projects-eclipse.html#SettingUpLibraryProject

一般的なライブラリ プロジェクトの詳細については、http: //developer.android.com/tools/projects/index.htmlをご覧ください。

于 2012-09-09T12:47:17.003 に答える
1

ライブラリ コードのソースがある場合は、それを別の Android プロジェクトに配置し、それをライブラリ プロジェクトとして指定します (プロジェクトの作成時にそうするためのチェックボックスがあります)。次に、プロジェクトの [プロパティ] -> [Android] に移動し、[ライブラリの追加] (下部近く) を選択し、作成したライブラリ プロジェクトを選択して、ライブラリ プロジェクトをプロジェクトにインポートします。

于 2012-09-09T12:43:11.040 に答える
0

ここでの調査と読み取りの後、すべての XML ファイルを自分のプロジェクトにコピーする必要があることがわかりました。そのため、XML をコピーすると、問題は解決しました。サンプルプロジェクトでは明らかにそうではないので、私はそれを理解していないことを認めなければなりませんが、もう問題はありません..

于 2012-09-09T17:06:50.463 に答える