Wie kann ich C Code in eine Android App einfügen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Google warnt davor, die NDK zu benutzen, "nur" weil man kein Java programmieren will.

Der Grund hierfür ist einfach:

Ein Programm mit NDK-Anteil läuft prinzipiell nur auf bestimmten Prozessoren. Schreibst du die App für ein Gerät mit ARM-Prozessor, so läuft sie auf einem Gerät mit x86-CPU nicht.

Außerdem ist es recht "tricky" und Aufwendig, die NDK zu verwenden - insbesonders dann, wenn man nicht mit C++, sondern mit C arbeiten will. Ich habe das bereits gemacht und weiß, was auf dich zukommen würde.

Es gibt jedoch Compiler, die C- oder C++-Code in Java-Bytecode umwandeln können. Diesen könnte man dann in ein Android-Projekt einbinden.

Das Android NDK ist was für dich. Extra dafür bereit gestellt, dass auch C Code auf so nem Teil läuft. Wenn es ne ernsthafte App sein sollte, dann solltest du dir aber wohl lieber die Mühe machen und Java 2 oder 3 Stunden lernen, anstatt da was sinnloses in C zusammen zu frickeln.

Die Möglichkeit C/C++ Code auszuführen ist so eine Art Entgegenkommen, gerade wenn es um rechenintensive Anwendungen geht, aber du solltest schon versuchen auch bei Java zu bleiben, anstatt da was in anderen Sprachen zusammen zu zimmern.


StarFighter123 
Fragesteller
 14.08.2015, 18:19

Danke für die Antwort. Werd ich probieren. Aber Java ist für mich irgendwie extrem komisch, da ich schon länger C programmiere und mir die ganze Sprache desshalb etwas schwer fällt.

0
GedankenGruetze  14.08.2015, 18:23
@StarFighter123

Ach Java ist nicht schwer. Du musst dich nur ein bisschen vom rein prozeduralen Programmieren auf OOP umgewöhnen. Den großen Teil der Syntax beherrschst du ja schon.

0
heilwigkenner  14.08.2015, 18:20

Mmmmh, ich würde so gerne die eine Hälfte der Antwort Up- und die andere Downvoten...

Viele große Apps sind mit C/C++ programmiert einfach weil man nur noch den jeweiligen plattformabhängigen Wrapper schreiben muss. Auch spielt die Sicherheit dort hinein. Je eine wirklich funktionierende Modifikation einer C/C++-Lib auf Android gesehen?

Sonst sollte man aber bei Java bleiben.

0
StarFighter123 
Fragesteller
 14.08.2015, 18:26
@heilwigkenner

Ich möchte eigentlich nur mehrere if Abfragen programmieren welche dann Variablen deffinieren. Dann soll das ganze nur noch in

einem bestimmten Algorithmus miteinander verrechnet werden. Mehr möchte ich eigentlich gar nicht erstellen :) 

0
GedankenGruetze  14.08.2015, 18:32
@heilwigkenner

Ich liebe Relationen wie "viele" und "einige". Meine Lieblingsargumentation ist deshalb nicht zufälligt seit je her: "Aber ich hab einen Freund, bei dem ist das so..." :)

Ich lass das jetzt einfach mal so stehen. Falls jemand drüber stolpert, soll er/sie selbst entscheiden.

0