PocketMagic

PocketMagic

Wo Technologie Magie entspricht

PocketMagic RSS Futter
 

Androide C heimische Entwicklung - nimmt volle Kontrolle!

Durch Radu Motisan Angeschlagen am 12. Mai 2009

Ein neues Projekt habe ich an erforderlichem Bluetooth gearbeitet, der auf dem Androiden programmiert.
Einen schnellen Blick über den letzten 1.5 Androiden SDK habend, konnte ich sehen, dass Bluetooth-Unterstützung vermisst wurde. Spätere Forschung wies darauf hin, dass Google ausdrucksvoll Bluetooth APIs ausschloss, das Tadeln fehlen von der Zeit.

Andererseits bin ich nicht ein großer javanischer Anhänger gelinde gesagt. Ich finde Java unfreundlich, und ich mag den Blick und das Gefühl Javas apps nicht. Schade, ich bevorzuge C/C ++, da er bessere Kontrolle und Flexibilität zur Verfügung stellt. So ist es Zeit, um anzufangen, C/C ++ heimische Anwendungen für den Google Androiden zu tun. Sorry, I prefer C/C++ since it provides better control and flexibility. So it's time to start doing C/C++ native applications for the Google Android.

Wie geführt ein C Programm auf dem Google Androiden?
Das erste Ding, das ich hier zeigen werde, soll ein einfaches C Programm für den Androiden kompilieren.


#include <stdio.h>
int main()
{
printf("Hello Google Android world!\nwww.pocketmagic.net\n");
return 1;
}

Sparen Sie dieses Programm als test.c. In den folgenden Schritten werden wir diese Probe für den Google Androiden kompilieren, gcc verwendend.

Die Werkzeuge

1. Laden Sie ubuntu linux herunter. Ich verwende zurzeit Tischausgabe 9.04 in einer virtuellen Maschine. I currently use Desktop edition 9.04 in a virtual machine.
Aufmerksamkeit: Sie werden Ubuntu auf einer Maschine mit mindestens 1.5 GB Widder, 10 GB ext2 Teilung und 2-GB-Tausch-Teilung installieren müssen, oder Sie werden nicht im Stande sein, das Info dieses Tutorenkurses zu verwenden (weniger dann die minimalen Voraussetzungen werden auf die Unmöglichkeit hinauslaufen, den Androide-Code zu kompilieren, und wir brauchen das für die Bibliotheken).

2. Sobald Ubuntu installiert wird, den Androide-Quellcode herunterzuladen. Auf Ihrem linux Kasten installieren zusätzliche Pakete: On your linux box install additional packages:
$ sudo apt-get install git-core gnupg sun-java5-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
$ sudo apt-get install valgrind

Dieser ist nur für Ubuntu Unerschrockene Benutzer:

$ sudo apt-get install lib32readline5-dev

3. Installieren Sie Repo
Schaffen Sie einen ~ / Behälter-Verzeichnis in Ihrem Hausverzeichnis, und Kontrolle, um sicher zu sein, dass dieses Behälter-Verzeichnis in Ihrem Pfad ist:

$ cd ~
$ mkdir bin
$ echo $PATH

Um es zum Pfad hinzuzufügen, können Sie verwenden:

$ PATH=$PATH:~/bin/

Laden Sie die repo Schrift herunter und stellen Sie sicher, dass es rechtskräftig ist:

$ curl http://android.git.kernel.org/repo >~/bin/repo
$ chmod a+x ~/bin/repo

4. Das Initialisieren eines Repo Kunden
Schaffen Sie ein leeres Verzeichnis, um Ihre Arbeitsdateien zu halten:

$ mkdir mydroid
$ cd mydroid

Geführter repo init, um die letzte Version von Repo mit allen seinen neusten üblen Programmfehler-Lagen herunterzubringen. Sie müssen eine URL-ADRESSE für das Manifest angeben:

$ repo init -u git://android.git.kernel.org/platform/manifest.git
$ repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake

Wenn veranlasst, konfigurieren Sie Repo mit Ihrem echten Namen und E-Mail-Adresse. Wenn Sie planen, Code vorzulegen, verwenden Sie eine E-Mail-Adresse, die mit einer Google-Rechnung vereinigt wird.
Eine erfolgreiche Initialisierung wird mit einer Nachricht solchen als beenden

repo initialized in /mydroid

Ihr Kundenverzeichnis sollte jetzt ein.repo Verzeichnis enthalten, wo Dateien wie das Manifest behalten werden.

5. Das Bekommen der Dateien
Dateien zu Ihrem Arbeitsverzeichnis von den Behältnissen, wie angegeben, im Verzug-Manifest, Lauf herunterzuziehen

$ repo sync

Für mehr über die Repo-Gleichzeitigkeit und anderen Befehle von Repo, sieh das Verwenden Repo und Schwachkopf.
Die Androide-Quelldateien werden in Ihrem Arbeitsverzeichnis unter ihren Projektnamen gelegen.

6. Das Überprüfen von Schwachkopf-Anhängseln
Laden Sie den folgenden öffentlichen Schlüssel in Ihre GnuPG Schlüsseldatenbank. Der Schlüssel wird verwendet, um kommentierte Anhängsel zu unterzeichnen, die Ausgaben vertreten.

$ gpg --import

dann kleben Sie den Schlüssel () unten, und Pressekontrolle-D auf, um den Eingang zu beenden und die Schlüssel zu bearbeiten.

key 9AB10E78: "The Android Open Source Project <initial-contribution@android.com>"
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5OY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5 +
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM =
=Wi5D
-----BEENDEN SIE PGP ÖFFENTLICHEN SCHLÜSSELBLOCK------END PGP PUBLIC KEY BLOCK-----

Nach dem Importieren der Schlüssel können Sie jedes Anhängsel damit nachprüfen

$ git tag -v tagname

7. Das Bauen des Codes
Der Androide-Code enthält einen Programmfehler, der bis zum Datum dieses Artikels nicht gelöst worden ist.
So, bevor Sie anfangen, den Code zu kompilieren, werden Sie einige Modifizierungen brauchen, oder das Bauen wird (nach dem Verbrauchen von etwas von Ihrer Zeit und Geduld) scheitern. Der Fehler ist:

external/qemu/sockets.c: In function 'sock_address_init_resolve':
external/qemu/sockets.c:637: error: 'EAI_NODATA' undeclared (first use
in this function)
external/qemu/sockets.c:637: error: (Each undeclared identifier is
reported only once
external/qemu/sockets.c:637: error: for each function it appears in.)
make: *** [out/host/linux-x86/obj/EXECUTABLES/emulator_intermediates/
sockets.o] Error 1

Das, vor dem Kompilieren der Androide-Code, offener ~/mydroid/external/qemu/sockets.c zu befestigen und hinzuzufügen

#define __USE_GNU

kurz vor #include <netdb.h>

Jetzt können Sie die Dateien bauen. Geführt machen aus Ihrem Arbeitsverzeichnis:

$ cd ~/mydroid
$ make

Auf meiner virtuellen Maschine, die ubuntu läuft, nahm der bauen Prozess mehrere Stunden. Der Gastgeber-PC ist 2.6GHz P4.

Kompilieren Sie test.c mit gcc für die Androide-Plattform
Androide verwendet eine vereinfachte Version von libc, genannt bionisch. Wir müssen den vorgebauten kreuz Bearbeiter des Androiden des Verwendens arm-eabi-gcc kompilieren, und die bionische Bibliothek am Telefon verwenden.
Der leichte Weg zu tun soll das den agcc perl Streifband verwenden. Sie können die ursprüngliche Datei hier herunterladen, und modifizieren

my $TOOLCHAIN = "$DROID/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1";

dazu

my $TOOLCHAIN = "$DROID/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1";

Oder laden Sie diese aktualisierte Version direkt herunter.

Kopieren Sie agcc zu Ihrem Hausverzeichnis, und chmod es:

chmod +x agcc

dann gehen Sie unter der PFAD zum bionischen befreit und die agcc Position:

$ PATH=$PATH:~/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin:~/:~/mydroid/

Jetzt können Sie die test.c Datei kompilieren:

agcc test.c -o test

Unterziehen Sie sich der resultierenden Prüfung binär und laden Sie sie zu Ihrem Androide-Verwenden:

adb push test /data/local/test

Dann Lauf es:

adb shell
chmod 775 test
./test

Sieh die Filme für mehr Details:

Folgendes Ding zu tun ist zu versuchen, die bluetooth Funktionalität zu kontrollieren, Code des Eingeborenen C und den Androiden toolchain verwendend.

Mehr auf dem Eingeborenen C apps für den Androiden hier.

Ein Teil dieses Artikels enthält Information, die durch Google auf http://source.android.com/download präsentiert ist

Mit besten Grüßen,
Radu Motisan

Durch Radu Motisan

43 Antworten auf den "Androiden C heimische Entwicklung - nehmen volle Kontrolle!"

  1. 1
    Anders:

    Groß. Vielen Dank für die Instruktionen.
    Jede Idee wie Anfang Ihr C Programm, wenn das System startet, oder nachdem es startet?

  2. 2
    Ash09:

    Hallo
    wenn ich führe meines Ubuntu 9.04 gleich weiterzumachen:
    $ sudo passend - kommen installieren lib32readline5-dev
    Ich bekomme den folgenden Fehler:
    E: Konnte nicht Paket lib32readline5-dev finden
    wie U-Entschlossenheit das tat?

  3. 3
    Radu Motisan:

    Es ist nur für ubuntu unerschrockene Benutzer.

    Sie werden es in 9.04 Arbeitsfläche nicht brauchen.

    Ich habe den Posten modifiziert, um das ebenso zu widerspiegeln.

  4. 4
    Dorisch:

    Hallo,

    Vielen Dank für die Instruktionen.
    Gerade ein wenig Modifizierung, Sie müssen agcc ändern, weil der toolchain nicht ist, ist richtiger libgcc.a nicht mehr in der Zwischenarbeitsmappe, so müssen 2 Linien auch geändert werden.

    "$TOOLCHAIN/lib/gcc/arm-eabi/4,3,1/libgcc.a", online 117 und 132
    Dank

  5. 5
    Stephan:

    Groß. Arbeiten wie ein Charme.
    @Dorian: vielen Dank für die Korrektur.

  6. 6
    Anupam:

    Hallo,
    Ich habe die Umgebung, um einen C-Code für den Androiden 1.0 in der ubuntu Maschine zu bauen. Jetzt habe ich Androiden 1.5 SDK für linux heruntergeladen und will denselben C-Code für den Androiden 1.5 kompilieren. Welch ändert sich, muss ich machen? What changes I have to make ?

  7. 7
    marius:

    Hallo,
    Ich verwende Androiden X86 (genommen am 10. Okt '09).
    Ich komme: adb: nicht gefunden not found

    Dann. Ich habe den resultierten system.img, kopiert ausführlich der *hello darin bestiegen
    /system/bin und Daten / dann habe ich bauen den iso und starten es.tem/bin and data/, then I’ve build the iso and boot it up.
    Ich kann meinen hallo sehen, aber.

    #. / hallo
    hallo: nicht gefunden

    #hello
    hallo: nicht gefunden

    #adb
    nicht gefundener adb

    Die Schale ist stumm oder.

  8. 8
    Radu Motisan:

    hallo marius,
    welche Produktion tun, kommen Sie von ls-l
    ?
    auch, was tut, meinen Sie dadurch "dann habe ich bauen den iso und starten es."

  9. 9
    Die Umgebung zu bauen, um Androiden für freerunner | allenc.tw zu entwickeln:

    [...] : Link1Link2Link3 [...]

  10. 10
    Perumal:

    Ich tat genau dasselbe, wie erwähnt, hier, aber setze fort, den folgenden Fehler zu bekommen:

    "/mydroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: In der Funktion '_start':
    bionic/libc/arch-arm/bionic/crtbegin_dynamic. S: (. text+0×14): unbestimmte Verweisung auf 'wichtig'(.text+0×14): undefined reference to `main’
    collect2: Ld gab 1 Ausgangsstatus zurück"

    Irgendeine Idee, wie man es auflöst?

    Danke im Voraus.

  11. 11
    Radu Motisan:

    Stellen Sie sicher, dass Sie die folgenden Mappen im Pfad gestellt haben:

    $DROID/prebuilt/linux-x86/toolchain/arm-eabi-4,2,1

    $DROID/prebuilt/linux-x86/toolchain/arm-eabi-4,3,1

  12. 12
    Perumal:

    Die beide Mappen sind im Pfad, aber ich bekomme noch denselben Fehler. Es arbeitete gut wenige Monate zurück, aber jetzt, als ich noch einmal versuchte, bekomme ich den obengenannten Fehler.

  13. 13
    Tayefeh:

    He ist es wirklich groß! Gerade überprüft arbeiteten es und es … jetzt ich kann alle meine alten C Programme zum Androiden lol tragen

  14. 14
    Radu Motisan:

    He dort Tayefeh, komisch, um das zu sehen nicht wahr?
    Die Wahrheit ist Sie kann wunden sehr starken apps das Verwenden des JNI machen.
    Ich habe einen ganzen bluetooth l2cap Schnittstelle für Java durchgeführt, es verwendend. Wird eher dahineilen.

  15. 15
    mbt:

    Ich mag die Idee, kühl!

  16. 16
    Weide:

    Sehr nette Erklärung! Sie sparten meine Zeit. Alle in einer Platz-Lösung! Dank! All in one place solution! Thanks!

  17. 17
    Radu Motisan:

    Ich freue mich Sie mögen es. Stellen Sie sicher, dass Sie über JNI ebenso lesen: Es stellt noch einige Optionen zur Verfügung. it provides some more options.

  18. 18
    Weide:

    Ein mehr Ding - ich versuche, eine Probe 'hallo' Weltprogramm zu führen, eine.cpp Datei statt der.c Datei verwendend. Bearbeiter beklagt sich darüber, iostream.h nicht zu finden. Konnten Sie mir erzählen, wie man Ihre Schrift verwendete, um einen c ++ Datei zu nennen? Could you tell me how to use your script to call a c++ file?

  19. 19
    a:

    Vielen Dank für Zeit in Anspruch zu nehmen, um diese Auskunft zu geben, ist;-) Es am nützlichsten

  20. 20
    Radu Motisan:

    Sie, sind a erwünscht.

  21. 21
    Kaushik:

    Können Sie schreiben, dass dieselbe agcc Schrift für mips System stützte?

  22. 22
    Radu Motisan:

    Kann ich fragen, welche MIPS Androide-Hardware haben Sie?

  23. 23
    Kaushik:

    Ich habe MIPS Ausschuss von Malta mit MIPSr2

  24. 24
    Kaushik:

    Ich habe bereits Androiden, der darauf, aber meine 3. Parteisoftware läuft, die allgemein in der glic Umgebung verwendet wird, wird unter dem bionischen basierten Androiden nicht arbeiten. So fragte ich mich, kann wir, solches Streifband für basierte Systeme von mips machen.

    -Kaushik

  25. 25
    sabin:

    Kann t, zusätzliche Pakete des Androiden in ubuntu 10.4 zu installieren

  26. 26
    Tanis:

    Hallo Radu! Netter Führer, aber habe ich ein Problem mit dem agcc Bearbeiter:

    ~$ agcc helloword.c-o helloword
    arm-eabi-gcc:/home/tanisdlj/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/lib/gcc/arm-eabi/4.2.1/interwork/libgcc.a: Keine solche Datei oder Verzeichnis No such file or directory

    Das ist mein PFAD:

    tanisdlj@tanisdlj-andev wirft:~-$ $PATH zurück
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/tanisdlj/bin/:/home/tanisdlj/mydroid/prebuilt/li nux-x86/toolchain/arm-eabi-4.3.1/bin:/home/tanisdlj/:/home/tanisdlj/mydroid//local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/tanisdlj/bin/:/home/tanisdlj/mydroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin:/home/tanisdlj/:/home/tanisdlj/mydroid/

    Ich folge Ihrem Führer nach und nach, aber ich habe dieses Problem. Irgendein Vorschlag?>. < >.<

  27. 27
    Suhas:

    Hallo Radu

    Ich folgte allen Schritten und im Endschritt
    agcc hello.c-o hallo bekomme ich diesen Fehler

    /localhome/user/bin/mipsandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/../lib/gcc/arm-eabi/4.3.1/../../../../arm-eabi/bin/ld:/localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Wiederpositionen im allgemeinen ELFEN (EM: 8)alhome/user/bin/mipsandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/../lib/gcc/arm-eabi/4.3.1/../../../../arm-eabi/bin/ld: /localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Relocations in generic ELF (EM:
    /localhome/user/bin/mipsandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/../lib/gcc/arm-eabi/4.3.1/../../../../arm-eabi/bin/ld:/localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Wiederpositionen im allgemeinen ELFEN (EM: 8)alhome/user/bin/mipsandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/../lib/gcc/arm-eabi/4.3.1/../../../../arm-eabi/bin/ld: /localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Relocations in generic ELF (EM:
    /localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Konnte nicht Symbole lesen: Datei im falschen Formatalhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: could not read symbols: File in wrong format
    collect2: Ld gab 1 Ausgangsstatus zurück

    Ich habe den PFAD zu richtig gesetzt. Helfen Sie mir freundlich bitte.

  28. 28
    Suhas:

    /localhome/user/bin/mipsandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/../lib/gcc/arm-eabi/4.3.1/../../../../arm-eabi/bin/ld:/localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Wiederpositionen im allgemeinen ELFEN (EM: 8)alhome/user/bin/mipsandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/../lib/gcc/arm-eabi/4.3.1/../../../../arm-eabi/bin/ld: /localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Relocations in generic ELF (EM: 8 )
    /localhome/user/bin/mipsandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/../lib/gcc/arm-eabi/4.3.1/../../../../arm-eabi/bin/ld:/localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Wiederpositionen im allgemeinen ELFEN (EM: 8)alhome/user/bin/mipsandroid/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin/../lib/gcc/arm-eabi/4.3.1/../../../../arm-eabi/bin/ld: /localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Relocations in generic ELF (EM: 8 )
    /localhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: Konnte nicht Symbole lesen: Datei im falschen Formatalhome/user/bin/mipsandroid/out/target/product/generic/obj/lib/crtbegin_dynamic.o: could not read symbols: File in wrong format
    collect2: Ld gab 1 Ausgangsstatus zurück

  29. 29
    mavci:

    sabin
    Ich installierte in ubuntu 10.04, und jetzt kann ich c Dateien für den Androide-Berliner 1.6 kompilieren
    wenn Sie wollen, kann ich erklären

  30. 30
    mavci:

    Ich kompilierte einen test.c dafür und lief auf der Adb-Schale, aber wie man an meinem Androide-Telefon lief? (DSTL1)

  31. 31
    Radu Motisan:

    tun Sie hallo bitte, ich denke, dass das der Gemeinschaft helfen wird.

  32. 32
    Radu Motisan:

    mavci, Sie können die Endanwendung für den Androiden verwenden.

  33. 33
    mavci:

    Dank Radu!
    Ich werde den ganzen explainations Morgen schreiben.

  34. 34
    Radu Motisan:

    OK, dann kann ich sie zu diesem Posten hinzufügen, so können andere ihn auch verwenden.

  35. 35
    quincy:

    das ist so Schmiere. Ich kann alle Arten von Konsole-Programmen jetzt kompilieren!

    Kerl, Sie schaukeln sich!

  36. 36
    quincy:

    @Tanis: Sie verwirrt Ihre EABI Versionen in Ihrem PFAD; es gibt Verweisungen auf 4.2.1 und 4.3.1 there are references to 4.2.1 and 4.3.1

  37. 37
    Radu Motisan:

    froh mögen Sie es, Quincy.

  38. 38
    Chris:

    Kann nicht scheinen den gpg - Importabteilung zu veranlassen zu arbeiten. Wie genau kleben Sie den Schlüssel darin auf?

  39. 39
    qds:

    Dieser Tutorenkurs ist kühl, aber ich habe Probleme, wenn ich versuche, statisch zu kompilieren

    wenn ich - statische Direktive beitrage, bekomme ich Fehler: "Kann nicht-lc" "collect2 finden: Ld gab 1 Ausgangsstatus zurück" ld returned 1 exit status”

    wissen Sie, wie man dieses Problem behebt? Dank

    Rücksichten

  40. 40
    Anup:

    Gcc 4.3 ist erforderlich, um Androiden zu bauen. 4.4 hat streng hat strengere Regeln, so wird es durch fprintf declaraion Fehler...

    Zu befestigen,

    $ sudo passend - kommen installieren gcc-4.3 g ++-4.3
    $ sudo rm/usr/bin gcc
    $ sudo rm/usr/bin g ++
    $ sudo ln-s gcc-4.3 gcc
    $ sudo ln-s g ++-4.3 g ++

  41. 41
    Radu Motisan:

    Hallo Anup, Vielen Dank für Ihren Beitrag!

  42. 42
    Androide-Telefon:

    Ich bin überhaupt nicht eine technische Person so, wenn es zum Verstehen des Codes kommt, fühlt sich das ausländisch zu mir. Jedoch davon, was ich gelesen habe, haben Sie einen Weg gefunden, blaue Zahn-Funktionalität mit C ++ einzuschließen? Es ist von kühl nach meiner Meinung wirklich freundlich. Wenn Sie bluetooth nicht haben, machen Sie ihn selbst. That’s actually kind of cool in my opinion. If you don’t have bluetooth, you make it yourself.

  43. 43
    Androide-List nutzt für die Wurzel aus:

    [...] Androide C heimische Entwicklung - nimmt volle Kontrolle! [...]

Verlassen Sie eine Antwort

Kopieren Sie bitte die Schnur l1YUXO zum Feld unten:

Blog Optionen

Übersetzer

English flagFrench flagGerman flagItalian flagPortuguese flagRussian flagSpanish flag
By N2H

Kategorien

Archive

Anhängsel

Gesponserte Verbindungen

Unterschreiben Sie!

Bekommen Sie mehr Anhänger

Unsere Förderer