首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >库中的Monodroid JNIEnv.FindClass

库中的Monodroid JNIEnv.FindClass
EN

Stack Overflow用户
提问于 2012-02-14 22:25:01
回答 1查看 412关注 0票数 1

在Monodroid中,我试图通过JNIEnv访问一个自定义的Java类。当我在主项目中添加类时,我可以在主项目和库项目中访问它。

例如:如果jniTest.java是项目A中的AndroidJavaSource文件,则

代码语言:javascript
复制
IntPtr javaClass = JNIEnv.FindClass("com/company/application/jniTest");

在项目A和库B中都有效。但是,如果我对其进行更改,以便在库B中将该类重命名为jniText,则无法使用

代码语言:javascript
复制
IntPtr javaClass = JNIEnv.FindClass("com/company/application/jniText");

我之所以说我必须重命名该文件,是因为如果我将该文件移到库B中,使其不再在项目A中,则调用FindClass仍然会找到jniTest,即使它在库中。我相信它仍然在原来的位置找到它。这让我相信,当我将java文件移到我的库中时,它工作得很好。只有在名称空间更改后,它才停止工作,因为现在仍然以某种方式构建到项目A中的原始文件现在与导致NoClassDefFoundError的库B中的文件不同。

我希望我刚刚错过了一个项目属性或JNIEnv方法,但是我找不到要设置什么才能使它工作。

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-02-14 23:32:46

只有主项目中的AndroidJavaSource、AndroidAsset、AndroidResource等才会出现在最终包中。这些东西在库项目中不受支持。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9278558

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档