Android JNI: FindClass () не может найти мой класс - PullRequest
1 голос
/ 23 октября 2011

Я пытаюсь использовать FindClass на одном из моих файлов Java в Android, но он никогда не находит класс.

Я использую следующий код (C ++):

jclass clsLocal = env->FindClass("com/device/client/HostConnection");

В Eclipse, в src, у меня есть пакет com.device.client и файл HostConnection.java в нем.

Мне кажется, что ошибка связана с -classpath. Я не совсем уверен, если это проблема, хотя. Это кот из .classpath, сгенерированный Eclipse:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="gen"/>
    <classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
    <classpathentry kind="output" path="bin"/>
</classpath>

Каталог src / содержит каталог com /, в котором находится устройство /, в котором содержится клиент /:

rudys@rudys-N61Jq:~/workspace/DeviceClient/src/com/device/client$ ls
HostConnection.java  Main.java  ServerConnection.java  SettingsLayout.java

Я пытался создать правило в .classpath, например:

<classpathentry kind="src" path="src/com/device/client"/>

но Eclipse замечает это как проблему (вложенную в src /), поэтому я считаю, что path = "src /" уже позаботится обо всех этих подкаталогах.

Я не уверен, что это не работает.

Может ли кто-нибудь помочь мне?

1 Ответ

1 голос
/ 26 октября 2011

Проблема заключалась в том, что я запускал новый поток и выполнял код в этом потоке.

Я должен был получить класс внутри функции из Java, и это хорошо работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...