Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用.so文件进行Ant构建_Java_Android_Ant_Android Ndk - Fatal编程技术网

Java 使用.so文件进行Ant构建

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

我正在从事一个包含超过65k种方法的项目,我已经按照流程构建了这个项目

在我的项目中,它包含一些。因此文件要在我的项目中进行数据库加密

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
  • 从本机代码导出的函数尊重正确的命名:
对于Java方法

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是什么意思?传递的库名称不正确?