Ich habe ein gerootetes Nexus 7 Jelly Bean Tablet und immer wenn ich versuche, eine Anwendung von einer Terminal-Emulator-App auszuführen, nachdem ich sie mit chmod 777ing und der Syntax ("./applicationName") ausgeführt habe, besteht es darauf, dass ich keine Berechtigung zur Ausführung habe, obwohl ich gewährte mir selbst SuperUser-Privilegien mit ("su"). Danach habe ich ein wenig recherchiert und festgestellt, dass Sie die Anwendung ausführen können sollten, wenn Sie die Datei in das Verzeichnis (/data/local/temp/) kopieren. Als ich das versuchte, sagte es, dass die Datei nicht existiert, obwohl sie beim Auflisten des Verzeichnisinhalts mit ("ls") angezeigt wird.
Ich habe keine Ahnung, welche Schritte zu unternehmen sind, wenn es hilft, habe ich versucht, (scp) als Test auszuführen, aber ich möchte in der Lage sein, eine benutzerdefinierte kompilierte Version von dns2tcp auszuführen. Ich weiß, dass ich bessere Anwendungen hätte verwenden können, wie z. B. eine „Hello World“, die nativ auf dem Gerät kompiliert wurde, aber ich konnte keinen C-Compiler für Android wie gcc in die Hände bekommen.
Danke für jeden Rat
Versuchen Sie, sh
Ihrem Befehl voranzustellen, z. B.:
sh ./scp
oder
sh -c ./scp
Die Emulator-App sollte in der Lage sein, eine andere App aus ihrem eigenen Verzeichnis auszuführen. Dieses Verzeichnis heißt so etwas wie /data/data/com.super.emulator
. Versuchen Sie, den vollständigen Pfad zu der gewünschten App im Emulator anzugeben.
Wenn Sie einen Compiler für Android erhalten möchten, können Sie NDK verwenden . Einfach zu bekommen, kostenlos zu benutzen.
Kannst du deine Datei nicht auch /system/bin
via adb pushen ? Ich weiß nicht, ob Sie diese Erlaubnis erhalten, wenn Sie Ihr Gerät rooten. Aber wenn das der Fall ist, sollte es Ihr Leben viel einfacher machen.
Höchstwahrscheinlich können Sie das Programm nicht ausführen, weil Bibliotheken auf dem Gerät, auf das Sie es kopiert haben, auf dem Gerät fehlen, auf das Sie es kopiert haben.
Da Ihr Endziel darin besteht, ein Programm zu kompilieren und es nativ auf dem Telefon auszuführen, könnte ich vorschlagen, dass Sie das Android NDK verwenden ? Die NDK STANDALONE-TOOLCHAIN.HTML
-Dokumentation enthält Erläuterungen zum Querkompilieren eines nativen Programms zur Ausführung auf Ihrem Android-Gerät.
Wenn Sie gerootet sind (wie ich sehe, sind Sie es), verwenden Sie den su
Befehl und führen Sie dann Ihr ursprüngliches Skript aus. Wenn das Problem Berechtigungen sind, sollte dies es beheben. Und wenn Sie ein Shell-Skript verwenden, können Sie diese Zeile einfach oben hinzufügen. Möglicherweise müssen Sie Ihre superSu-Einstellungen (oder die Superuser-App, die Sie mit root haben) überprüfen und sicherstellen, dass Ihr Terminalemulator über Root-Berechtigungen verfügt.
Wenn Sie nicht gerootet sind (oder aus irgendeinem Grund nicht als Root ausgeführt werden können), schlage ich vor, zu prüfen, wie XBMC dies tut, da ich glaube, dass es Apps im Benutzermodus ausführen kann.
Viel Glück.
ce4
Andrej0427
Izzy
/data/local/tmp/scp
? Und sichergestellt, dass Ihrescp
Datei keine Dateierweiterung hat, wenn sie ohne eine aufgerufen wird?Andrej0427
Matthäus Lesen