わかりました、おそらくそれは非常に単純ですが、私は今それを理解することはできません.
Google サンプル プロジェクトCard Readerを Android Studio 1.5.1 にインポートしました。これは compileSdkVerison 23 でコンパイルされ、モバイルで動作します。
次に、SDK を調べながらソース コードをandroid.nfc.tech.BasicTagTechnologyに移動しました。TransceiveResult内部android.nfc.tech.BasicTagTechnology#transceiveで解決できないことがわかり、クラスTransceiveResultがにありませんがD:\Android\sdk\platforms\android-23\android.jar、ここに Android ソース コードD:\Android\sdk\sources\android-23\android\nfc\TransceiveResult.javaが表示されていることがわかりました。エクスポートされた、実際には
/**
* Class used to pipe transceive result from the NFC service.
*
* @hide
*/
public final class TransceiveResult implements Parcelable
次に、プロジェクトを同期し、クリーンして再構築し、キャッシュを無効にする/再起動した後、いくつかのランダムなことを行いましたが、それでも解決できませんTransceiveResult.SDKでシンボルが失われたため、プロジェクトをどのようにコンパイルできるか疑問に思っていますスムーズに?
編集して、ついにああ
android.nfc.tech.BasicTagTechnology#transceiveではなくコードを呼び出しますTransceiveResult。コンパイル時に解決する必要はありません。コードで参照されているものTransceiveResultを解決するだけandroid.nfc.tech.BasicTagTechnology#transceiveで済みます。その瞬間、私は迷子になりました。