OK, może jest to bardzo proste, ale po prostu nie mogę tego teraz rozgryźć.Jak można skompilować projekt Androida, gdy w SDK brakuje importowanej klasy?
Mam zaimportowany projekt przykładowy Google Card Reader w Android Studio 1.5.1, kompiluje się na compileSdkVerison 23, działa na moim telefonie komórkowym.
Potem przeszedł przez chwilę SDK przyszedł do kodu źródłowego android.nfc.tech.BasicTagTechnology
znalazłem TransceiveResult
wewnątrz android.nfc.tech.BasicTagTechnology#transceive
nie mógł nie zostać rozwiązane potem znalazłem klasę TransceiveResult
brakuje w moim D:\Android\sdk\platforms\android-23\android.jar
, ale zawiera w kodzie źródłowym Androida tutaj D:\Android\sdk\sources\android-23\android\nfc\TransceiveResult.java
następnie Zdałem sobie sprawę, to może być ukryte przed publicznym, nie na eksport, w rzeczywistości jest to
/**
* Class used to pipe transceive result from the NFC service.
*
* @hide
*/
public final class TransceiveResult implements Parcelable
Potem zrobiłem kilka przypadkowych rzeczy, po tym, jak zsynchronizować projekt, czyste i odbudować, utratę pamięci podręcznej/ponownym uruchomieniu nadal nie można rozwiązać przy okazji TransceiveResult
, zastanawiam się, ponieważ symbol ma zagubieni w SDK, w jaki sposób projekt może się płynnie kompilować?
EDIT bo wreszcie Aha
Nazywamy android.nfc.tech.BasicTagTechnology#transceive
w naszym kodzie zamiast TransceiveResult
w czasie kompilacji my nie trzeba rozwiązać TransceiveResult
, tylko musimy rozwiązać android.nfc.tech.BasicTagTechnology#transceive
który jest wymieniony w naszym kodzie, Zgubiłem się w tym momencie.
Nie bardzo rozumiem. Gdzie przykładowa aplikacja czytnika kart odwołuje się do 'TransceiveResult'? – ozbek
@ozbek to było wewnątrz android.nfc.tech.BasicTagTechnology # transceive – hylepo
OK, ale jak to jest "android.nfc.tech.BasicTagTechnology" związane z przykładową aplikacją czytnika kart? – ozbek