2016-11-08 3 views
0

Я загрузил исходный код Telegram из GitHub и скомпилировал его. во-первых, он дал мне некоторые ошибки о 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.
после запуска 2 .so файла, созданного в libs\armeabi и libs\armeabi-v7a (оба из них около 4kb) и я могу получить LaunchActivity.java, но когда я нажимаю на START ПОСЛАНИЕ в приложение падает на ApplicationLoader.loadWallpaper(); (в LaunchActivity.java), который запускает runnable. я debbuged его, пока я не достиг до uncaughtException, который был следующим:
unsatisfiedlinkerror нативный метод не найден: org.telegram.messenger.Utilities.pinBitmap: (Landroid/Графика/Bitmap;)

после этого я снова собрать native jni Manualy из командной строки (я имею в виду переход в родительскую папку nji и запуск ndk-build.cmd). Когда сборка завершена, папка «obj» была создана в родительской папке nji и что 2 файла сгенерированы снова, но размером 14kb.
Я заменяю их старыми в папке libs.

после очистки и повтора, у меня все еще такая же ошибка (собственный метод не найден ...).

Может ли любое тело помочь мне, что не так с этим NDK ?? любая помощь будет оценена.
Спасибо, MA.

+0

Вы загрузили NDK и указали студию на него? –

+0

@ Jon Goodwin, конечно, он находится в папке C: \ Users \ Mohamad \ AppData \ Local \ Android \ sdk \ ndk-bundle, и я установил его в структуре проекта. –

+1

Вы проверили свою 'TARGET_PLATFORM' /' APP_PLATFORM'? Он должен соответствовать вашему minSdkVersion. Вчера был аналогичный вопрос - это могло бы помочь: http://stackoverflow.com/questions/40468805/unsatisfiedlinkerror-dlopen-failed-cannot-locate-symbol-aeabi-memcpy4-refe – vkislicins

ответ

0

вся проблема была из-за каталога моего проекта. каталог содержит пространство и несовместим с NDK. Я переместил проект в другой каталог и теперь он компилируется.

Смежные вопросы