Android JNI:FindClass()无法找到我的类

时间:2011-10-23 17:32:58

标签: android class java-native-interface

我正在尝试在Android上的一个Java文件中使用FindClass,但它从未找到该类。

我使用以下代码(C ++):

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

在Eclipse中,在src中,我有包com.device.client和文件HostConnection.java。

在我看来,错误与-classpath有关。我不完全确定这是不是问题。这是Eclipse生成的.classpath的一只猫:

<?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 /,其中包含device /,其中包含client /:

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 个答案:

答案 0 :(得分:1)

问题是我正在启动一个新线程,并在该线程中运行代码。

我应该从Java中获取该函数内的类,并且效果很好。