【问题标题】:How to use .so file of another android project to another project如何将另一个android项目的.so文件用于另一个项目
【发布时间】:2018-09-26 06:07:54
【问题描述】:

我已经反编译了一个 android 签名的 apk,它有一个 .so 文件...

当我将该 .so 文件复制粘贴到我的项目的 jniLibs/(abi)/*.so 中时

库加载成功,但出现以下错误,

java.lang.UnsatisfiedLinkError: Native method not found: com.***.***.****.****.Decode:([BI[B)I

这里的解码是本机方法。在 singed apk 中,本机方法也使用相同的签名...而且我也使用相同的方法签名,然后我也收到这样的错误...

请帮帮我

提前致谢

【问题讨论】:

  • 使用其他应用的 .so 文件可能会遇到法律问题。而你所要求的是帮助你解决这个罪行。

标签: android android-ndk .so


【解决方案1】:

让您的方法com.***.***.****.****.Decode 成为com.aaa.bbb.ccc.Ddd.Decode。然后你应该在这个package中创建packagecom.aaa.bbb.ccc,创建DddJavaclass,定义native方法

public native int Decode(byte[] in, int length, byte[] out); 

在这个class 中并通过以下方式添加static *.so 库:

static {
    System.loadLibrary("Ddd");
}

到这个class。确保您的 *.so 文件的名称为 libDdd.so,而不是您只需在 System.loadLibrary 中写入 Ddd

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-12-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多