In einer Android-App muss ich ein bestimmtes SDK für ein bestimmtes Peripheriegerät verwenden.
Mit einer einzigen Build-Variante funktioniert alles:
%Vor% Das Problem besteht darin, dass das SDK auf einer gemeinsam genutzten Bibliothek basiert, die im tatsächlichen Peripheriegerät installiert ist. Wenn ich versuche, die App auf einem anderen Android-Gerät zu installieren (zum Debuggen der restlichen Funktionen), erhalte ich einen INSTALL_FAILED_MISSING_SHARED_LIBRARY
-Fehler.
Ich denke, ich könnte zwei Build-Varianten verwenden:
release
, die das SDK debug
, das nicht das SDK Ich habe versucht, das SDK nur in den Buildtyp release
einzufügen:
Aber dann kann ich das Projekt wegen der fehlenden Importe nicht kompilieren.
Also habe ich die einzige Klasse dupliziert, die diese Importe verwendet:
In main/java/package/PeripheralManager.java
:
In release/java/package/PeripheralManager.java
:
Der von mir gewählte Build-Typ spielt keine Rolle, ich kann das Projekt nicht kompilieren, wenn der Import nicht in einer der Varianten aufgelöst wird ...
Ich habe es endlich mit Aromen gelöst. Das Problem bestand darin, dieselbe Klasse in den Verzeichnissen main
und release
zu duplizieren. Das können wir nicht tun. Stattdessen musste ich es beispielsweise in debug
und release
oder flavour1
und flavour2
(eins mit den Importen und das andere ohne sie) kopieren und aus main
entfernen. Dann kann ich wählen, was zu kompilieren und alles funktioniert.
Danke trotzdem für deine Hilfe, + MohanRaj!
Bitte versuchen Sie dies auf Ihrem Modul build.gradle-Datei, hier mein Code, lassen Sie mich bitte Ihr Feedback wissen.Vielen Dank im Voraus.
build.gradle
%Vor%Tags und Links android android-gradle