わかりました、おそらくそれは非常に単純ですが、私は今それを理解することはできません.
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
で済みます。その瞬間、私は迷子になりました。