OK, vielleicht ist es sehr einfach, aber ich kann es gerade jetzt nicht herausfinden.Wie kann Android-Projekt kompilieren, wenn importierte Klasse im SDK fehlt?
Ich habe Google Beispielprojekt Card Reader in Android Studio 1.5.1 importiert, kompiliert es bei compileSdkVerison 23, funktioniert es auf meinem Mobile.
Dann ging ich durch das SDK, während auf den Quellcode kam zu android.nfc.tech.BasicTagTechnology
, ich ich gefunden TransceiveResult
innerhalb android.nfc.tech.BasicTagTechnology#transceive
konnte nicht nicht aufgelöst gefunden dann die Klasse TransceiveResult
ist in meinem D:\Android\sdk\platforms\android-23\android.jar
, sondern präsentiert in Android-Quellcode hier D:\Android\sdk\sources\android-23\android\nfc\TransceiveResult.java
dann fehlt ich erkannte, dass es von der Öffentlichkeit verborgen werden konnte, nicht exportiert, es tatsächlich
/**
* Class used to pipe transceive result from the NFC service.
*
* @hide
*/
public final class TransceiveResult implements Parcelable
Dann habe ich einige zufällige Dinge getan, nachdem ich das Projekt synchronisieren haben, sauber und neu zu erstellen, ungültig Caches/neu gestartet wird, nach wie vor nicht in der Lage Auflösung TransceiveResult
übrigens, frage ich mich seit dem Symbol hat verloren in SDK, wie kann das Projekt reibungslos kompilieren?
EDIT ich endlich Aha
Wir android.nfc.tech.BasicTagTechnology#transceive
in unserem Code aufrufen, anstatt TransceiveResult
, in der Kompilierung-wir keine Notwendigkeit TransceiveResult
zu lösen, brauchen wir nur android.nfc.tech.BasicTagTechnology#transceive
zu lösen, die in unserem Code verwiesen wird, Ich war in diesem Moment verloren.
Ich verstehe nicht ganz Ihre Frage. Wo nimmt die Kartenleseprobe-App Bezug auf 'TransceiveResult'? – ozbek
@ozbek es war in android.nfc.tech.BasicTagTechnology # transceive – hylepo
OK, aber wie ist 'android.nfc.tech.BasicTagTechnology' im Zusammenhang mit Kartenleser Beispiel App? – ozbek