Esecuzione di applicazioni da un emulatore di terminale [chiuso]


8

Ho un tablet Nexus 7 Jelly Bean con root e ogni volta che tento di eseguire un'applicazione da un'app di emulazione terminale dopo averla selezionata e utilizzato la sintassi ("./applicationName") insiste sul fatto che non ho il permesso di eseguire anche se concesso i miei priv self superUser utilizzando ("su"). Dopo di che ho fatto una piccola ricerca e ho imparato che se copi il file nella directory (/ data / local / temp /) dovresti essere in grado di eseguire l'applicazione. Quindi, quando ho provato che diceva che il file non esiste anche se appare quando si elenca il contenuto della directory usando ("ls")

Non ho idea di quali passi intraprendere, se mi aiuta, cerco di eseguire (scp) come test, ma desidero poter eseguire una versione compilata personalizzata di dns2tcp. So che avrei potuto usare applicazioni migliori come un ciao mondo compilato nativamente sul dispositivo, ma non sono riuscito a mettere le mani su un compilatore C per Android come GCC.

Grazie per qualsiasi consiglio


2
puoi aggiungere una piccola trascrizione di ciò che hai fatto? / sdcard è montato con la funzione 'noexec' che impedisce comunque l'esecuzione di eseguibili. Hai specificato il percorso completo con il secondo tentativo (/ data / local / tmp / yourprogram)?
Ce4,

@ ce4 Ho provato quello che hai citato nella seconda parte del tuo commento. Ecco la trascrizione: pastebin.com/RkuMHuBj EDIT: Sì, ho dimenticato di premere MAIUSC +
INVIO

Hai provato a specificare il percorso completo per l'esecuzione, ad esempio /data/local/tmp/scp? E assicurati che il tuo scpfile non abbia estensione se chiamato senza?
Izzy

@Izzy, sì. Qualcuno può eseguire applicazioni C personalizzate dal terminale stesso su un dispositivo Android?
Andrei0427,

Se l'app non è compilata per Android, non funzionerà.
Matteo Leggi il

Risposte:


3

prova a mettere shdavanti al tuo comando, ad es .:

sh ./scp

o

sh -c ./scp

Ho ricevuto un errore di sintassi durante l'esecuzione dell'applicazione, immagino sia successo perché non è stato compilato per il tablet stesso perché l'ho strappato dal telefono. Ahimè, questo deve significare che ha funzionato .. giusto?
Andrei0427,

quale errore hai ricevuto?
EsOsO,

il primo comando sicuramente non funzionerà (./scp non è in un formato che può essere interpretato dalla shell), il secondo è eccessivo (viene semplicemente eseguito ./scp in una subshell). Entrambi non risolveranno permessi di esecuzione inappropriati e / o altre incompatibilità.
Ce4,

2

L'app emulatore dovrebbe essere in grado di eseguire un'altra app dalla propria directory. Quella directory si chiama qualcosa del genere /data/data/com.super.emulator. Prova a fornire l'intero percorso dell'app desiderata nell'emulatore.

Se vuoi ottenere un compilatore per Android, puoi utilizzare NDK . Facile da ottenere, gratuito da usare.

Non puoi anche inviare il tuo file /system/bintramite adb ? Non so se ottieni tale autorizzazione quando esegui il root del tuo dispositivo. Ma se è così, dovrebbe renderti la vita molto più semplice.


1

Molto probabilmente non è possibile eseguire il programma a causa delle librerie sul dispositivo in cui è stato estratto dal dispositivo in cui è stato copiato.

Poiché il tuo obiettivo finale è quello di compilare un programma ed eseguirlo nativamente sul telefono, potrei suggerirti di utilizzare Android NDK ? La documentazione NDK include STANDALONE-TOOLCHAIN.HTMLche spiega come eseguire la compilazione incrociata di un programma nativo da eseguire sul tuo dispositivo Android.


0

Se sei rootato (vedo che lo sei), usa il sucomando e quindi esegui lo script originale. Se il problema riguarda le autorizzazioni, questo dovrebbe risolverlo. E se stai usando uno script di shell, puoi semplicemente aggiungere questa riga in alto. potresti dover controllare le tue impostazioni di superSu (o qualsiasi altra app di superutente che hai con root) e assicurarti che l'emulatore di terminale disponga delle autorizzazioni di root.

Se non sei rootato (o non riesci a eseguirlo come root per qualche motivo), ti suggerisco di esaminare come lo fa XBMC, poiché credo che possa eseguire app in modalità utente.

In bocca al lupo.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.