更改包名称会破坏JNI

For*_*rce 1 java-native-interface android cmusphinx

我尝试使用pocketsphinx包为我的应用程序,并需要将演示程序包名称重命名为有用的东西(例如com.myname.foo)

我花了好几个小时搞清楚,但我根本无法让它发挥作用.

问题是,如果我保留包名称并且没有任何问题(除了随机崩溃),项目运行正常,但是当我重命名它时,我得到错误

FATAL EXCEPTION: main
java.lang.UnsatisfiedLinkError: new_Config__SWIG_0
Run Code Online (Sandbox Code Playgroud)

我已经尝试过修改Swig命令,但它也没有用.

有任何想法吗?

我只更改了Manifest的包名声明和普通Activity的包文件夹.

zin*_*ngo 6

您需要在c/c ++方面进行更改,根据JNI的实现方式,有两种可行的方法.

答:函数名称包含完整的类路径 __CODE__,现在是变量__CODE__.