Ant使用.so文件进行构建



我正在处理一个包含超过65k个方法的项目,我遵循Dex65536流程来构建项目

在我的项目中包含一些。所以文件做数据库加密在我的项目。当使用此自定义规则应用ant任务时,出现如下错误

Warning:No implementation found for native 
Error: Lcom.......java.lang.UnsatisfiedLinkError: Native method not found:

我如何解决这个问题,我如何指定 custom_rules.xml文件

请给我一些建议。

Thanks in advance

如果您的apk在armeabi文件夹中包含.so,那么您不需要查看ant构建过程。

您收到的错误是由于.so无法加载或您的函数名称错误地导出/导入。

你确定下列情况吗?

  • 在你的文件中有一个。so库&armeabi-v7a文件夹(你将需要在两个文件夹中的。so,因为一些Android版本在不同的文件夹中)-解压缩apk以100%确定
  • .so库是为目标设备的正确架构编译的
  • 在java代码中调用System。loadLibrary优先于任何本地代码
  • 从本机代码导出的函数遵循正确的命名:

为Java方法

int com.sample.NativeBridge.GetInt()

你需要导出一个pair c方法

JNIEXPORT jint JNICALL Java_com_sample_NativeBridge_GetInt(JNIEnv env , jclass this)

考虑到您有大量的方法,是否有可能将原始容器类拆分为多个类,从而导致C函数名称与正确的命名约定不匹配?

相关内容

  • 没有找到相关文章

最新更新