Android NDK in Eclipse :: (Programm "ndk-build" kann nicht ausgeführt werden: unbekannter Grund)

7

Ich verliere meine Meinung über den Versuch, mein NDK-Projekt von Eclipse mit dem CDT-Plugin zu erstellen und erhalte den Fehler: -

%Vor%

Die Anwendung läuft, aber ich verliere alle Konsolenausgabe für den Build-Prozess, das ist ein Albtraum beim Versuch zu kompilieren, und ich muss es in der Befehlszeile tun.

So kam ich dorthin: -

%Vor%

Dann:

%Vor%

Dann:

%Vor%

Beim Einrichten meines Build-Ziels:

%Vor%

Dann endlich in den Projekteigenschaften:

%Vor%

Wenn er erstellt wird, spuckt er den Fehler auf die Konsole aus. Obwohl es compiliert und den Build macht, der auf dem Gerät läuft, kann ich keine Build-Ausgabe sehen.

Ich habe "ndk-build" in meinem .bash_profile mit den folgenden Variablen:

%Vor%

Ich kann kompilieren mit ndk-build von der Kommandozeile aus. Es scheint, dass Eclipse meinen PATH nicht sehen kann:

Dies ist auf Mac OSX, in Helios Version 2.

EDIT: Ok, das kompiliert sich gut, und die Ausgabe des Builds ist tatsächlich unter dieser Nachricht versteckt, das ist alles andere als ideal, wenn ich überprüfen muss, welche Elemente erstellt wurden, kann ich nicht wie vertuscht sehen. Wie werde ich es loswerden?

    
Dev2rights 08.03.2012, 15:40
quelle

10 Antworten

4

Es mag blöd klingen, aber haben Sie nachgesehen, ob es mehrere Konsolen gibt? Ich kann mir vorstellen, dass es eine für die Nachricht gibt, die Sie zitiert haben, und eine andere für die Build-Ausgabe.

Siehe auch dies : Die Antwort hat einen interessanten Link, Umgang mit Setup, aber auch mit Eclipse-Integration.

    
rockeye 14.03.2012, 14:15
quelle
13

In meinem Fall musste ich den vollständigen Pfad zu meinem ndk-build-Befehl in eclipse eingeben, damit er Folgendes erstellt:

Eklipse - & gt; Dein Prj - & gt; Rechtsklick - & gt; C / C ++ Build - & gt; "Builder" -Gruppe: Der Wert für "Build command" sollte vollständiger Pfad sein wie unten (statt nur "ndk-build")

/ Benutzer / vshakya / MySoftware / android-ndk-r8 / ndk-build

Ich hoffe, dies wird anderen in Zukunft helfen, denn ich habe gerade 30 Minuten verschwendet, um das herauszufinden.

    
Viren 23.05.2012 05:21
quelle
5

Bitte beachten Sie diesen Link für die NDK-Konfiguration in Android

Ссылка

    
user1210558 14.03.2012 07:11
quelle
4

Ich hatte das gleiche Problem und obwohl die Beschreibung in Ссылка für die Installation der NDK ist gut, es deckt nicht die Lösung für dieses häufige Problem.

Eclipse scheint es Ihnen zu ermöglichen, Dinge an mehreren Stellen zu konfigurieren, Sie können globale Änderungen über das Menü Fenster oder projektspezifische Konfigurationen über die Option Eigenschaften vornehmen. Am einfachsten ist es, den vollständigen Pfad für ndk-build (ndk-build.cmd für Windows) in den {Eigenschaften; C / C ++ Build} Build-Befehlsfeld.

    
Pete 16.08.2012 06:48
quelle
3

Die einfachere Lösung, Build mit dem Befehl ndk-build aus dem Eclipse-Projektpfad:

%Vor%

Jedes Mal, wenn Sie Ihren systemeigenen Code ändern.

Um auf Eclipse zu kompilieren, habe ich die nächsten Schritte gemacht:

  • Erstellen Sie das Eclipse-Projekt.
  • Fügen Sie den nativen Code (.cpp) im jni-Ordner
  • hinzu
  • Erstellen Sie Android.mk und Application.mk nach der typischen Struktur
%Vor%
  • Wenn Warnungen über Eclipse ausgelöst werden, setzen Sie Ihre Maus auf den jni-Code-Teil und aktivieren Sie die Option "Projekt in nativen Code konvertieren" und konvertieren das Projekt automatisch.

Beim nächsten Kompilieren wird ndk-build V = 1 aufgerufen, kompiliert nativen Code und kompiliert dann den Android-Teil.

HINWEIS:

Sie müssen ndk-build in allen Ordnern Ihres Systems verwenden können. Der Befehl erkennt, wo er aufgerufen wurde, und sucht nach dem jni-Ordner, um mit Android.mk den gesamten systemeigenen Code zu kompilieren.

Die Grundstruktur, nach der gesucht wird, ist:

  • $ PROJEKT & gt; jni /
    • /Android.mk
    • /Application.mk
    • /code.cpp

Aber Sie können Android.mk ändern, um nach Code in anderen Pfaden zu suchen.

Ich hoffe es hilft dir!

    
vgonisanz 16.03.2012 12:59
quelle
3

Sequoya ist dein Freund. Es ist ein Teil von Eclipse seit Indigo Release.

Ссылка

    
pinxue 17.03.2012 05:47
quelle
3

In meinem Fall musste ich den vollständigen Pfad zu meinem Befehl ndk-build.cmd in Eclipse eingeben, damit er Folgendes erstellt:

Eklipse - & gt; Dein Prj - & gt; Rechtsklick - & gt; C / C ++ Build

C: \ Pratek \ android-ndk-r9 \ ndk-build.cmd

    
user1530779 11.09.2013 11:36
quelle
2

Nur für den Fall, dass Sie nur Ihren stdout und nicht stderr sehen, versuchen Sie, Ihren stderr auf stdout umzuleiten.

ndk-build 2 & gt; & amp; 1

    
roostertech 16.03.2012 09:28
quelle
1

Stellen Sie sicher, dass Sie "absolutepath \ ndk-build.cmd" anstelle von "absolutepath \ ndk-build" in Windows verwenden. Es kompiliert ohne Fehler mit .cmd hinzugefügt

    
ksu 17.10.2013 13:04
quelle
0

Zusätzlich zur Systemumgebung.

In Eclipse müssen Sie auch zu den Einstellungen gehen - & gt; c / c ++ Build - & gt; Umgebung. Fügen Sie eine neue Variable mit dem Namen "NDKROOT" hinzu, und legen Sie den Wert für den NDK-Installationspfad fest.

Das funktioniert für mich.

    
msjianghu 19.10.2013 00:41
quelle