Look API (Samsung Mobile SDK から) を勉強しています。これを行うために、Samsung Mobile SDK のサンプルをアプリに入れました。複雑なことは何もありません。Activity が作成され、Look クラスの 1 つから texview が生成されるだけです。
シミュレーターでアプリを実行すると (smartclip アクティビティを開く)、dalvikvm からエラーが発生しました。LogCat から:
Could not find class 'com.samsung.android.sdk.look.smartclip.SlookSmartClip$1', referenced from method com.samsung.android.sdk.look.smartclip.SlookSmartClip.setDataExtractionListener
Mobile SDK 1.0.2 で ADT バンドルを使用しています (Look は 1.0.0)。シミュレータ デバイスは Android 4.2.2 で、Look はサポートされていません (ただし、すべてのファイルがエクスポートされるため問題ありません)。look.jar を結果の apk ファイルにエクスポートするようにプロジェクトが正しく構成されていることを確認しました。すべての外部ライブラリが apk にエクスポートされていることを確認し、結果の classes.dex を dedex して、クラス SlookSmartClip$1 が実際にそこにあることを確認しました。
おそらく、この質問はADT 22 +サードパーティのjarライブラリの問題により一般的です。しかし、ほとんどの場合、人々はファイルを適切にエクスポートしません。ここでは、この問題はありません。
何が問題か知っていますか?
PS: エクスポートで Android Private Library のチェックを外してみました。その後、ライブラリは bin/dexedLibs にも apk (classes.dex) にも表示されません。再度チェックした後 (常にプロジェクトをクリーニング)、それらは bin/dedexedLibs に表示され、classes.dex の apk にパッケージ化されます。dalvikvm がそれらを見つけられない理由がわかりません...