2016-11-08 59 views
0

我从GitHub下载了Telegram源代码并编译它。首先,它给了我一些错误有关NDK_PROJECT_PATH = null所以有人建议我改变:
未找到UnsatisfiedLinkError本地方法 - Android-Telegram

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

到:

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

的gradle中。
libs\armeabilibs\armeabi-v7a(两者约4KB)的生成运行2 .so文件,我可以得到LaunchActivity.java,但是当我在START MESSAGING应用程序崩溃点击ApplicationLoader.loadWallpaper();(在LaunchActivity.java )运行一个可运行的。我debbuged它,直到我达到uncaughtException这是如下:
未找到unsatisfiedlinkerror本地方法:org.telegram.messenger.Utilities.pinBitmap:(Landroid /图形/位图)之后,我再次编译

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

清理并重新运行后,我仍然有同样的错误(本地方法未找到...)。

任何机构可以帮助我这个NDK有什么问题? 任何帮助,将不胜感激。
谢谢,MA。

+0

你有没有下载NDK并指向它的工作室? –

+0

@Jon Goodwin,当然它在C:\ Users \ Mohamad \ AppData \ Local \ Android \ sdk \ ndk-bundle中,我将它设置在Project结构中 –

+1

你有没有检查过你的'TARGET_PLATFORM' /'APP_PLATFORM'?它应该匹配你的minSdkVersion。昨天有类似的问题 - 这可能会有所帮助:http://stackoverflow.com/questions/40468805/unsatisfiedlinkerror-dlopen-failed-cannot-locate-symbol-aeabi-memcpy4-refe – vkislicins

回答

0

所有的问题都是因为我的项目的目录。 该目录包含空间,并且与NDK不兼容。 我将项目移至另一个目录,现在编译。

相关问题