java.lang.IllegalArgumentException: Ei kelvollinen luokan nimi: ANDROID NDK javah

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

Im oppimassa koodata Androidin NDK: ssa WINDOWS Eclipse .... on seurannut Sylvain Ratabouilin opetuskirjan. Joten im in Run | Ulkoiset työkalut Ulkoiset työkalut -määritykset ... uuden ohjelmakokoonpanon luominen.

Name: MyProject javah

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

Työhakemisto: $ {workspace_loc: / MyProject / bin}

Ongelma tulee Argumentit ... kun yritän Argumentit: -d $ {workspace_loc: / MyProject / jni} com.myproject.MyActivity kuten sanotaan kirjassa

saan kun napsautan ajaa

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

kun yritän $ {workspace_loc: / MyProject / jni} com.myproject.MyActivity}

saan

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

UPDATE: Minä laita -classpath ensin ja se toimii, mutta ei löydä luokkatiedostoa com.myprojectille

1 Comments
Guilherme 08/31/2014
Hauska, tämä ei toiminut minulle. Olen Macissa. Tämä ratkaistu stackoverflow.com/questions/9200373/...

6 Answers


Paul Asiimwe 07/13/2013.

lisätutkimuksen jälkeen .... tein sen.

i asettaa argumentteja

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


Julian 07/22/2014.

Vietän myös pitkään tätä ongelmaa työskennellessäni mainitun Android NDK: n kanssa.

Huomaa seuraavat: Java-luokan nimi EI ole kirjoitettu { } , kirjoita vain jotain kuin com.myproject.MyActivity

-classpath -parametri voi vastaanottaa useita polkuja, jotka on jaettu puolipisteeseen.

Minun tapauksessani nämä parametrit toimivat:

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 .: Oikea Adroid.jar-tiedosto viitataan Eclipse-projektissa.)


community wiki 12/20/2014.

Minulla on myös sama ongelma tänä iltana, löysin vähemmän tylsiä tapaa seuraavana ...

  1. kuten "Sijainti", aseta javah järjestelmästäsi
  2. kuten "Working-hakemisto", määritä projektin bin / classes-hakemisto ( $NO )
  3. kuten "Argument", aseta jni-kansio lähtöhakemistoksi ja osoita luokka, johon haluat suorittaa javah ( -d "$ {workspace_loc: / HelloWorld / jni}" com.example.helloworld.MainActivity )

Huom .: Älä unohda kaksinkertaista qoute (") kolmannen vaiheen tuotoksen ympärillä ( "$NO )

Täydellinen kuva liitetään myös seuraaviin

Kaikki 3 askelta yhdessä kuvassa


Saket 06/29/2014.

hyvin siinä tapauksessa ...

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

2-> C: \ Ohjelmatiedostot \ Java \ jdk1.7.0_60 \ bin> javah -jni -classpath F: \ Android_OpenGLES \ FibonacciNative \ bin \ luokat -d F: \ Android_OpenGLES \ FibonacciNative \ jni \ fi.example.fibonaccinative. FibLib

ilman ympäristömuuttujan luomista / käyttöä ...


CoDe 08/12/2015.

Kun yritin menestyksekkäästi

javah com.sense.kios.Calculation 

Note: Include package name.

Jos javah ei löydy käskyksi ja saat

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  

käytä suoraan jdk polun polkua, minun tapauksessani /usr/lib/jvm/jdk1.8.0/bin/javah .


Dhiraj Himani 07/29/2017.

KYLLÄ, OIKEIN, enemmän abstrakti olisi

-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