Wir überprüfen derzeit unser Anwendungsmanifest, um explizit das Attribut uses-feature
zu verwenden, um alle Abhängigkeiten von Hardware- und Software-APIs zu deklarieren.android.hardware.telephony unterbricht die Installation auf dem Emulator
Da wir erwarten, dass der Benutzer über mobiles Internet verfügt, setzen wir android.hardware.telephony
auf true
, aber jetzt kann die App nicht mehr auf dem Emulator installiert werden. Die Fehlermeldung lautet:
Failure [INSTALL_FAILED_MISSING_FEATURE]
Es gibt keine weiteren Informationen, auch nicht in den Geräteprotokollen, aber ich kann durch Versuch und Irrtum herausfinden, dass die Telefoniefunktion es verursacht wurde.
Da der Emulator die Telefoniefunktionalität unterstützt (Sie können sogar das Versenden eines Anrufs simulieren), warum bricht dieser? Und selbst wenn es korrekt meldet, dass es die Telefonie nicht unterstützt, sollte es nicht offensichtlich sein, dass uses-feature
auf reale Geräte ausgerichtet war, nicht auf den Emulator?
Ich bin eigentlich ziemlich verwirrt über dieses Attribut jetzt im Allgemeinen, da its documentation scheint implizieren, dass es nur Filterregeln für Android Market betrifft. Ich kann nicht sehen, wo erwähnt wird, dass uses-feature
einen direkten Einfluss auf die Installierbarkeit einer App hat, die weit über die bloße deklarationelle/informationelle Natur hinausgeht, die die Dokumente ihm zuweisen.
Vielleicht ist es nicht eine gute Idee, es doch zu verwenden? Unser Build-Server wird nicht mehr ausgeführt, da die Installation im Emulator jetzt immer fehlschlägt ...
was genau die Fehlermeldung Sie haben? –
Entschuldigung, fügte die Fehlermeldung hinzu, die wir sehen. – Matthias
Das ist seltsam, aber wollen Sie diese Einschränkung wirklich platzieren? Ein Benutzer kann eine gute WLAN-Abdeckung haben und sich nicht für eine monatliche Mobilfunkrechnung entscheiden. –