java.lang.IllegalArgumentException: N'est pas un nom de classe valide: ANDROID NDK javah

Paul Asiimwe 08/22/2017. 6 answers, 9.039 views
android-ndk android-ndk jni adt

Im apprendre à coder Android dans NDK sur WINDOWS Eclipse .... été suivi d'un Tutorial Book par Sylvain Ratabouil. Donc im dans Run | Outils externes | Configurations d'outils externes ... créant une nouvelle configuration de programme.

Name: MyProject javah

Emplacement: $ {env_var: JAVA_HOME} \ bin \ javah.exe

Répertoire de travail: $ {workspace_loc: / MyProject / bin}

Le problème vient dans les arguments ... quand j'essaye Arguments: -d $ {workspace_loc: / MyProject / jni} com.myproject.MyActivity comme il est dit dans le livre

je reçois quand je clique courir

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class name: –d 

quand j'essaie $ {workspace_loc: / MyProject / jni} com.myproject.MyActivity}

Je reçois

Exception in thread "main" java.lang.IllegalArgumentException: Not a valid class name: C:\Paul\Workspace\MyProject\jni 

UPDATE: je place d'abord -classpath et il est en cours d'exécution mais ne trouve pas le fichier de classe pour com.myproject

1 Comments
Guilherme 08/31/2014
C'est marrant, ça n'a pas fonctionné pour moi. Je suis en mac. Cela a résolu stackoverflow.com/questions/9200373/...

6 Answers


Paul Asiimwe 07/13/2013.

après d'autres recherches .... je l'ai fait.

je mets des arguments à

-d $ {workspace_loc: / MonProjet / jni} -classpath C: \ Paul \ android-sdk-windows \ plates-formes \ android-17 \ android.jar; $ {workspace_loc: / MyProject / bin / classes} com.myproject.MainActivity


Julian 07/22/2014.

Je passe aussi beaucoup de temps sur ce problème lorsque je travaille avec le livre mentionné sur Android NDK.

S'il vous plaît noter ce qui suit: Le nom de classe Java n'est pas écrit dans { } , il suffit d'écrire quelque chose comme com.myproject.MyActivity

Le paramètre -classpath peut recevoir plusieurs chemins divisés par un point-virgule.

Dans mon cas, ces paramètres ont fonctionné:

Location:

$NO 

Working Directory:

$NO 

Arguments:

-d ${workspace_loc:/myproject/jni} -classpath ${workspace_loc:/myproject/bin/classes};"C:\Eclipse\sdk\platforms\android-18\android.jar" com.myproject.MyActivity 

(BTW.: Le fichier Adroid.jar correct est référencé dans le projet Eclipse.)


community wiki 12/20/2014.

Moi aussi face au même problème ce soir, j'ai trouvé une manière moins fastidieuse que de suivre ...

  1. comme "Emplacement" définir le javah de votre système
  2. en tant que "répertoire de travail", définissez le répertoire bin / classes du projet ( $NO )
  3. en tant que "Argument", définissez le dossier jni comme répertoire de sortie et indiquez la classe sur laquelle vous voulez exécuter javah ( -d "$ {workspace_loc: / HelloWorld / jni}" com.example.helloworld.MainActivity )

NB :: Ne pas oublier le double qoute (") autour de la sortie à la troisième étape ( "$NO )

Une image complète est également jointe

Tous les 3 étapes dans une seule image


Saket 06/29/2014.

bien au cas où ...

1-> Goto (cd C: \ Programmes \ Java \ jdk1.7.0_60 \ bin)

2-> C: \ Programmes \ Java \ jdk1.7.0_60 \ bin> javah -jni -classpath F: \ Android_OpenGLES \ FibonacciNatif \ bin \ classes -d F: \ Android_OpenGLES \ FibonacciNatif \ jni \ com.exemple.fibonaccinatif. FibLib

sans créer / utiliser la variable d'environnement ...


CoDe 08/12/2015.

Après j'ai essayé avec succès

javah com.sense.kios.Calculation 

Note: Include package name.

Dans le cas où javah pas trouvé comme une commande et vous obtenez

The program 'javah' can be found in the following packages:
 * gcj-4.6-jdk
 * gcj-4.7-jdk
 * openjdk-7-jdk
 * openjdk-6-jdk
Try: sudo apt-get install  

utilisez le chemin direct du chemin jdk, dans mon cas c'est /usr/lib/jvm/jdk1.8.0/bin/javah .


Dhiraj Himani 07/29/2017.

OUI C'EST CORRECT plus abstrait serait

-d ${workspace_loc:/MyProject/jni} -classpath ${env_var:ANDROID_SDK_HOME}\platforms\android-16\android.jar;${workspace_loc:/MyProject/bin/classes} com.myproject.MyActivity 

Related questions

Hot questions

Language

Popular Tags