2016-11-08 11 views
0

私はGitHubからTelegramソースコードをダウンロードしてコンパイルしました。
UnsatisfiedLinkErrorネイティブメソッドが見つかりません - Androidテレグラム

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

をする:

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

Gradleの中で誰かが私を変え示唆したように、最初に、それは私NDK_PROJECT_PATH = nullなどに関するいくつかのエラーが発生しました。 LaunchActivity.javaで
ラン2の.so libs\armeabiで生成されたファイルとlibs\armeabi-v7a(それらの両方の4キロバイト程度)した後、私はLaunchActivity.javaを得ることができます、しかし、私はApplicationLoader.loadWallpaper();STARTメッセージアプリのクラッシュをクリックしてください( )実行可能ファイルを実行します。私は再びコンパイルその後

と、(Landroid /グラフィック/ビットマップ):
ないUnsatisfiedLinkErrorネイティブメソッドが見つかりません:org.telegram.messenger.Utilities.pinBitmap iは以下のようであったuncaughtExceptionに到達するまで私はそれをdebbugedコマンドプロンプトからのネイティブjniマニュアル(nji親フォルダに移動し、ndk-build.cmdを実行することを意味します)。 コンパイルが終了したときに、「obj」フォルダがnjiの親フォルダに作成され、2つのファイルが14kbのサイズで再生成されました。
私はそれらをlibsフォルダ内の古いものと置き換えます。

Clean and Rerunの後、私はまだ同じエラー(ネイティブメソッドが見つかりませんでした...)があります。

この身体検査で何が問題なの? ご協力いただければ幸いです。
ありがとう、マサチューセッツ。

+0

NDKと指摘スタジオをダウンロードしましたか? –

+0

@Gon 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-emempypy-refe – vkislicins

答えて

0

すべての問題は私のプロジェクトのディレクトリのためです。 ディレクトリにスペースが含まれていて、NDKと互換性がありません。 プロジェクトを別のディレクトリに移動してコンパイルしました。

関連する問題