2012-03-30 8 views
18

Sto utilizzando Eclipse per generare un file di intestazione JNI. Ho cercato in program files\java\jre6\bin e trovato molti file .exe e .dll, ma non sono riuscito a trovare il comando javah contenuto nella documentazione per l'utilizzo di JNI per creare associazioni alle librerie C.
Qualsiasi aiuto?Come generare il file di intestazione JNI in Eclipse

+0

check this out : http: // stackoverflow.it/questions/10483959/javah-error-android-app-activity-not-found/25989225 # 25989225 –

risposta

32

Utilizzare il pannello seguente per definire un nuovo strumento esterno per javah.exe.

Punto "Posizione" allo strumento javah.exe.

Set "Directory di lavoro" per

${workspace_loc:/${project_name}/bin} 

Set "argomenti" a:

-classpath ${project_classpath} -v -d ${workspace_loc:/${project_name}/src} ${java_type_name} 

enter image description here

Per eseguire lo strumento, evidenziare il file sorgente Java nel pacchetto Explorer ed eseguire lo strumento.

enter image description here

Premere F5 per aggiornare ° progetto per vedere il file appena generato.

+1

puoi spiegare gli argomenti ... ti sarà molto utile ... grazie – aProgrammer

+1

Fai clic su "Variabili .." pulsante. La descrizione per ciascuno è elencata lì. – Java42

+0

woo hoo! Lavoro fantastico. –

2

Solo qualche info ...

Purtroppo la soluzione di cui sopra non ha funzionato per me, ma la soluzione in questa discussione ha fatto:

Using javah -jni with an Eclipse project structure

Con gli argomenti sopra citati, ho avuto :

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class name:path/to/project

ho scoperto che il problema era un carattere di spazio nel percorso al mio progetto. Avvolgere i percorsi tra virgolette ha aiutato la soluzione sopra.

0

Località

// percorso javah.exe

C: \ Program Files \ Java \ jdk1.7.0_79 \ bin \ javah.exe

Directory di lavoro

$ {workspace_loc:/$ {project_name}/bin}

Argomenti

-classpath $ {} project_classpath -v -d $ {workspace_loc:/$ {} nome_progetto/jni} $ {} java_type_name

strumenti di classe e di esecuzione Java open

Problemi correlati