Java 使用.so文件进行Ant构建
我正在从事一个包含超过65k种方法的项目,我已经按照流程构建了这个项目 在我的项目中,它包含一些。因此文件要在我的项目中进行数据库加密Java 使用.so文件进行Ant构建,java,android,ant,android-ndk,Java,Android,Ant,Android Ndk,我正在从事一个包含超过65k种方法的项目,我已经按照流程构建了这个项目 在我的项目中,它包含一些。因此文件要在我的项目中进行数据库加密 Warning:No implementation found for native Error: Lcom.......java.lang.UnsatisfiedLinkError: Native method not found: 如何解决此问题,以及如何在custom_rules.xml文件中指定.so文件 请告诉我 提前感谢如果您的apk在armea
Warning:No implementation found for native
Error: Lcom.......java.lang.UnsatisfiedLinkError: Native method not found:
如何解决此问题,以及如何在custom_rules.xml文件中指定.so文件
请告诉我
提前感谢如果您的apk在armeabi文件夹中包含.so,那么您不需要查看ant构建过程 您收到的错误是由于.so未能加载或您的函数名被错误地导出/导入所致 您是否确定以下事项:
- 在您的armeabi和armeabi-v7a文件夹中有一个.so库(您将需要在两个文件夹中使用.so,因为某些Android版本在不同的文件夹中)-解压缩apk以100%确定
- .so库是为目标设备的正确体系结构而编译的
- 在java代码中,您可以在调用任何本机代码之前调用System.loadLibrary
- 从本机代码导出的函数尊重正确的命名:
int com.sample.NativeBridge.GetInt()
您需要导出一个pair c方法
JNIEXPORT jint JNICALL Java\u com\u sample\u NativeBridge\u GetInt(JNIEnv env,jclass this)
考虑到您有大量的方法,是否可能将原始容器类拆分为多个类,在这一点上,C函数名称与正确的命名约定不匹配?您能为sameI显示
pom.xml
代码吗,我只使用custom_rule.xml。您可以在android项目的libs目录中的copy your.so
文件中找到相同的文件,然后运行compilei执行相同的操作,但没有结果。我使用相同的.so文件完成了示例项目,它工作得很好。但是当我集成到我的项目中时,出现了一个错误。请再次阅读该问题。因为我的项目包含超过65k+的方法。无法通过eclips运行项目。我们必须使用ant build或其他多索引应用程序。请帮助我。谢谢你的建议。我自己解决了这个问题。我的apk中包含.so文件armeabi&armeabi-v7a文件夹,但我的错误是没有以正确的方式加载system.loadlib。您没有以正确的方式使用system.loadLibrary是什么意思?传递的库名称不正确?