未找到UnsatisfiedLinkError本机方法 - Android-Telegram

时间:2016-11-08 15:51:50

标签: java android android-ndk telegram

我从GitHub下载了Telegram源代码并编译它。起初,它给了我一些关于NDK_PROJECT_PATH = null的错误,所以有人建议我改变:

    sourceSets.main.jniLibs.srcDirs = ['./jni/']
    externalNativeBuild {        
    ndkBuild {
        path "jni/Android.mk"
       }
    }

到:

sourceSets.main {
    jniLibs.srcDir 'libs'
    jni.srcDirs = [] //disable automatic ndk-build call
}

in gradle。
运行2 .so文件后生成libs\armeabilibs\armeabi-v7a(两者都约4kb),我可以获得 LaunchActivity.java ,但是当我点击应用程序崩溃应用程序在运行可运行的ApplicationLoader.loadWallpaper();(在LaunchActivity.java中)崩溃。我对它进行了修改,直到我到达uncaughtException,如下所示:
找不到不满意的linkerror本地方法:org.telegram.messenger.Utilities.pinBitmap :( Landroid / graphics / Bitmap;)

之后我再次从命令提示符编译本机jni Manualy(我的意思是转到nji父文件夹并运行ndk-build.cmd)。 编译完成后,在nji父文件夹中创建了“obj”文件夹,再次生成了2个文件,但大小为14kb。
我将它们替换为libs文件夹中的旧文件。

在Clean和Rerun之后,我仍然有相同的错误(找不到原生方法......)。

任何人都可以帮我解决这个NDK的问题吗? 任何帮助将不胜感激 谢谢,MA。

1 个答案:

答案 0 :(得分:0)

所有问题都是因为我的项目目录。 该目录包含空格,并且与NDK不兼容。 我将项目移动到另一个目录,然后编译。

相关问题