wyjątek klasy: ANDROID NDK javah

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

Uczę się kodowania Androida w NDK na WINDOWS Eclipse .... śledziłem książkę Tutorial Sylvaina Ratabouila. Więc im w Run | Narzędzia zewnętrzne | Zewnętrzne konfiguracje narzędzi ... tworzenie nowej konfiguracji programu.

Name: MyProject javah

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

Katalog roboczy: $ {workspace_loc: / MyProject / bin}

Problem pojawia się w argumentach ... kiedy próbuję Argumenty: -d $ {workspace_loc: / MyProject / jni} com.myproject.MyActivity, jak mówi w książce

pojawia się, gdy klikam uruchom

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

kiedy próbuję $ {workspace_loc: / MyProject / jni} com.myproject.MyActivity}

dostaję

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

UPDATE: i put -classpath pierwszy i działa, ale nie może znaleźć pliku klasy dla com.myproject

1 Comments
Guilherme 08/31/2014
Zabawne, to nie działa dla mnie. Jestem w mac. To rozwiązało stackoverflow.com/questions/9200373/...

6 Answers


Paul Asiimwe 07/13/2013.

po dalszych badaniach .... zrobiłem to.

ustawiam argumenty na

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


Julian 07/22/2014.

Spędzam też dużo czasu nad tym problemem podczas pracy z wspomnianą książką o Android NDK.

Zwróć uwagę na następujące: Nazwa klasy java NIE jest zapisana w { } , po prostu napisz coś w stylu com.myproject.MyActivity

Parametr -classpath może odbierać kilka ścieżek rozdzielonych średnikiem.

W moim przypadku parametry te działały:

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 .: W pliku Eclipse odwołuje się poprawny plik Adroid.jar).


community wiki 12/20/2014.

Ja również mam dziś ten sam problem, znalazłem mniej żmudny sposób, idąc za ...

  1. jako "Lokalizacja" ustaw javah z twojego systemu
  2. jako "Katalog roboczy" ustaw katalog bin / classes projektu ( $NO )
  3. jako "Argument" ustaw folder jni jako katalog wyjściowy i wskaż klasę, na której chcesz uruchomić javah ( -d "$ {workspace_loc: / HelloWorld / jni}" com.example.helloworld.MainActivity )

NB :: Nie zapomnij o podwójnej sekwencji (") wokół wyjścia w trzecim kroku ( "$NO )

Pełny obraz jest również dołączony poniżej

Wszystkie 3 kroki w jednym obrazie


Saket 06/29/2014.

na wszelki wypadek ...

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

2-> C: \ Program Files \ Java \ jdk1.7.0_60 \ bin> javah -jni -classpath F: \ Android_OpenGLES \ FibonacciNative \ bin \ classes -d F: \ Android_OpenGLES \ FibonacciNative \ jni \ com.example.fibonaccinative. FibLib

bez tworzenia / używania zmiennej środowiskowej ...


CoDe 08/12/2015.

Po tym, jak próbowałem

javah com.sense.kios.Calculation 

Note: Include package name.

W przypadku, gdy javah nie zostanie znaleziony jako polecenie i dostaniesz

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  

używaj bezpośredniej ścieżki ścieżki jdk, w moim przypadku jest to /usr/lib/jvm/jdk1.8.0/bin/javah .


Dhiraj Himani 07/29/2017.

TAK, ŻE PRAWDA jest bardziej abstrakcyjna

-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