Wie kann ich meine Anwendung mit dem System-Signaturschlüssel signieren?

8

Ich muss eine Robotium-Anwendung erstellen, die die Settings-Anwendung verwendet, um WIFi über das Menü Einstellungen- & gt; Wireless & amp; Netzwerke- & gt; Wi-Fi. Ich habe hier hier einen Beispielcode gefunden, der zeigt, wie man eine Anwendung nur mit einer apk-Datei startet. Das Problem ist, dass meine Robotium-Anwendung dieselbe Signatur mit der (System-) Einstellungen-Anwendung haben sollte. Beim Versuch, eine Anwendung auszuführen, erhalte ich die Fehlermeldung:

  

Testlauf fehlgeschlagen: Berechtigungsverweigerung:   Start Instrumentierung   Komponenteinfo {com.jayway.test / android.test.InstrumentationTestRunner}   ab pid = 354, uid = 354 nicht erlaubt   weil Paket com.jayway.test tut   habe keine Signatur, die dem entspricht   Ziel com.android.settings

  1. Kann ich irgendwie mit dem Android Emulator arbeiten?
  2. Wenn ich ein Android-Telefonabbild kompiliere, wie kann ich die Signatur des Android-Systems mit meiner Anwendung verwenden?
Michalis 24.08.2010, 13:52
quelle

2 Antworten

14

Ich hatte das gleiche Problem. Es gibt einige Berechtigungen, die nur System-Apps haben dürfen. Ich habe versucht, auf die adb shell dumpsys Befehle von meiner Anwendung mit den Berechtigungen android.permission.DUMP .

Die Lösung dafür ist ...

Fügen Sie in der Android-Manifestdatei Ihres Projekts die folgende Zeile im Manifest-Tag hinzu

%Vor%

Sie müssen zwei Signaturschlüssel im Code haben, der zum Erstellen der Binärdatei verwendet wird.

  

platform.x509.pem

     

platform.pk8

das ist in

vorhanden
  

Android / Build / Ziel / Produkt / Sicherheit

Laden Sie ein Tool aus dem Internet herunter, d. h.

  

signapk.jar

Von der Eclipse exportieren Sie Ihre unsignierte apk. mit der rechten Maustaste auf das Projekt von den Android-Tools. Behalten Sie alle Dinge, z. B. Schlüssel, unsignierte APK und signapk.jar in einem Ordner. Führen Sie den folgenden Befehl aus

%Vor%

unsigned apk ist der Name Ihrer apk und signierte apk ist der neue Name, den Sie wollen. Danach installieren Sie Ihre signierte App einfach mit dem Befehl

im Telefon %Vor%     
Nirmit Srivastava 20.12.2012 16:02
quelle
1

Der beste Weg, WLAN von Ihrer Anwendung aus zu aktivieren, wäre die Verwendung des WLAN-Managers .

%Vor%

Hinweis: Sie müssen dem Manifest auch die folgenden Berechtigungen hinzufügen

%Vor%     
Jwsonic 24.08.2010 15:02
quelle

Tags und Links