1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. htcdesiree, 02.05.2011 #1
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    Hallo,

    Wie kann ich ein C Programm von meiner Linux Kiste auf das Android Handy bringen???
    Ich habe jetzt schon zig Anleitungen durch angefanngen von agcc bis hin zum ndk... Nichts funktioniert.

    Im Moment probier ich es mit folgendem Makefile:
    Das Ergebnis ist dann:
    EDIT:


    Die Fehler bezüglich den fehlenden Libs etc. bekomme ich bei agcc auch.
    Kann mir wer weiterhelfen? Ich find den Fehler nicht...
     
    Zuletzt bearbeitet: 02.05.2011
  2. ramdroid, 03.05.2011 #2
    ramdroid

    ramdroid Android-Experte

    Es wird wohl irgendwie mit dem NDK funktionieren, aber habe ich auch nicht hinbekommen (bin ja eigentlich auch Linux Neuling)

    Habe irgendwo einen Download für einen cross compiler gefunden mit dem es aber dann auch geradewegs funktioniert hat. Das schaut dann so aus:

    Hello.c

    Make:


    Habe den CC über mein Dropbox freigegeben (sind knapp über 20mb):

    http://dl.dropbox.com/u/11516830/cross-compiler-armv6l.tar.bz2
     
    PJF16 gefällt das.
  3. htcdesiree, 03.05.2011 #3
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    Danke für die rasche Antwort!
    Werd's gleich mal ausprobieren.
     
  4. htcdesiree, 03.05.2011 #4
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    edit hat sich erledigt :)
    link funktioniert - probier die sache jetzt gleic haus.
     
  5. htcdesiree, 03.05.2011 #5
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    Hallo,

    Kompilierungsvorgang funktioniert jetzt einwandfrei.
    Wenn ich das Programm auf dem HTC mit ./programm starte bekomme ich leider "Permission Denied".
    Hab zur Sicherheit chmod 777 gemacht - keine Änderung.
     
  6. ramdroid, 03.05.2011 #6
    ramdroid

    ramdroid Android-Experte

    wohin hast du's denn kopiert?
    Auf der SD Karte hast du meines Wissens nach z.B. keine Ausführ-Rechte

    du kannst sonst einfach:

     
    htcdesiree gefällt das.
  7. htcdesiree, 03.05.2011 #7
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    Danke!
    Verdammt ich hätte einfach die mount table anschauen sollen, dann hät ichs selber gesehen....

    Funktioniert jetzt :)
    *bitte nicht erschlagen für den fehler*
     
  8. htcdesiree, 03.05.2011 #8
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    Edit:
    Kann es sein dass popen() auf Android nicht funktioniert?
    Habe eine Funktion wie:
    Bringt mir einfach kein Ergebnis! z.B. wird
    oder
    übergeben. Nichts. Ich bekomme:
    aber popen() führt nichts aus...
    habe auch schon versucht:
    zu übergeben - selbes Ergebnis.

    Weiß da wer bescheid?
     
  9. XPosition, 03.05.2011 #9
    XPosition

    XPosition Neuer Benutzer

    Überprüfe mal ob stream == NULL und gib dann die errno aus.
    Außerdem würde ich nicht so viel Stack verbraten.
    Das geht auch in kleineren Häppchen.
     
  10. htcdesiree, 04.05.2011 #10
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    Hey,
    Also hab mal mit NULL abgefragt

    Code:
    void exec(string cmd)
    {
            cout << "GET VALUE: " << cmd << endl;
      char buffer[BUFFER_SIZE];
      FILE *stream;
    
      stream = popen(cmd.c_str(), "r");
    if (stream == NULL)
            cout << "Stream is NULL" <<endl;
    
      while ( fgets(buffer, BUFFER_SIZE, stream) != NULL )
            cout << buffer <<endl;
    
      pclose(stream);
    }
    
    Aber stream scheint nicht NULL zu sein, falle da mal nicht in die IF-Condition rein.

    Des weiteren scheinen Codestücke wie
    Code:
    system("id > /data/local/test");
    Auch nicht zu funktionieren....

    Weiß da wer Bescheid?
     
    Zuletzt bearbeitet: 04.05.2011
  11. htcdesiree, 04.05.2011 #11
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    EDIT:

    Ich hab die errno vergessen, ich bekomme:
    Eingaben sind folgende:
    bzw.
    Er scheint die Datei nicht zu finden, obwohl die Pfade doch passen?
    Überseh ich hier was?

    EDIT:
    und ich hab mal folgenden Code dazu gelegt:
    Code:
    char * pPath;   
    pPath = getenv ("PATH");   
    if (pPath!=NULL)     
    printf ("The current path is: %s",pPath);
    
    und bekomme:
    RE-EDIT:
    und wenn ich über getcwd() den aktuellen Pfad suche, bekomme ich:
    Hoffe jemand kann helfen...

    Danke...
     
    Zuletzt bearbeitet: 04.05.2011
  12. htcdesiree, 05.05.2011 #12
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    Push
     
  13. htcdesiree, 07.05.2011 #13
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    kann wirklich niemand helfen?
     
  14. XPosition, 08.05.2011 #14
    XPosition

    XPosition Neuer Benutzer

    Falls stream != NULL ist wird die errno schon vorher gesetzt.

    Geht in dem Programmverzeichnis "sh -c ls" ?
    Geht es als root ?

    Sonst liegt es wohl an der toolchain.
    Schon mal das ndk standalone test Programm probiert ?
    Falls das geht einfach dein source code reinkopieren.
     
  15. htcdesiree, 09.05.2011 #15
    htcdesiree

    htcdesiree Threadstarter Neuer Benutzer

    Wie gesagt, die Errno ergibt:
    ergibt:
    Funktioniert also tadellos...

    Wo finde ich das ndk standalone test Programm?


    Schöne Grüße
     
  16. XPosition, 09.05.2011 #16
    XPosition

    XPosition Neuer Benutzer

    android-ndk-r5b/tests/run-standalone-tests.sh
    android-ndk-r5b/tests/standalone/test-basic-c++/test_basic_exceptions.cpp
     
  17. ramdroid, 29.05.2011 #17
    ramdroid

    ramdroid Android-Experte

    Falls noch jemand Probleme hat... ooookay.... die toolchain von mir war wirklich Müll... sorry für die Verwirrung :winki:

    Hatte eben selbst Probleme mit einem Projekt das mir unfähig war den Inhalt eines bestimmten Verzeichnisses auszugeben.

    Habe also das run-standalone-tests.sh für mein Projekt angepasst und damit gebaut --> funktioniert :D
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Textzeilen beim booten von Android X86 entfernen Android OS Entwicklung / Customize 19.08.2017
Realtek Treiber in Android x86 einbinden Android OS Entwicklung / Customize 15.08.2017
TWRP Wiederherstellung - komische Fehlermeldungen Android OS Entwicklung / Customize 20.07.2017
Entschlüsselung von Android Geräten Version 7.1.1 Android OS Entwicklung / Customize 03.02.2017
Diskussion zu: Tipps & Tricks: Einführung in die Android Shell Android OS Entwicklung / Customize 06.01.2017
Android OS Entwicklung: Systemweiter Content/File Filter Android OS Entwicklung / Customize 05.12.2016

Users found this page by searching for:

  1. c programm auf android

    ,
  2. c-programm android

    ,
  3. c programme auf android

    ,
  4. c programm android
Du betrachtest das Thema "C-Programm auf Android" im Forum "Android OS Entwicklung / Customize",