2016-07-26 6 views
2

を使用してC++でのブレークポイントに到達することができません:私は、単純なC++コードでのブレークポイントに到達しようとしているAndroidのメーカーとndkBuild

ここで、ここでの.cpp

#include <jni.h> 
#include <string> 

extern "C" 
{ 

jstring Java_com_comscore_android_app_MainActivity_stringFromJNI(
     JNIEnv* env, 
     jobject /* this */) { 
    std::string hello = "Hello from C++ lalalaaaaaa"; 
    return env->NewStringUTF(hello.c_str()); 
} 
} 

のGradleファイル:

android { 
    compileSdkVersion 23 
    buildToolsVersion "24.0.1" 
    defaultConfig { 
     applicationId "com.comscore" 
     minSdkVersion 10 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
     testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 
     externalNativeBuild { 
      ndkBuild { 
       arguments "NDK_APPLICATION_MK:=src/main/jni/Application.mk" 
      } 
     } 
    } 
    externalNativeBuild{ 
     ndkBuild{ 
      path "src/main/jni/Android.mk" 
     } 
    } 
... 
} 

Android.mk:

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

LOCAL_SRC_FILES := native-lib.cpp 
LOCAL_MODULE := native-lib 


LOCAL_LDLIBS := -llog 

LOCAL_CPPFLAGS += -fsigned-char -fexceptions -frtti -g -O0 -std=c++0x -std=gnu++0x 
LOCAL_CFLAGS += -fsigned-char -fexceptions -frtti -g -O0 -std=c++0x -std=gnu++0x 

include $(BUILD_SHARED_LIBRARY) 

そしてApplication.mk

APP_ABI := all 
APP_STL := gnustl_static 

アプリケーションがコンパイルされ、作品が、私は、デバッガを実行中にC++コード内の任意のブレークポイントで停止することはできませんよ。私はそれがネイティブライブラリをどのようにロードするのか見ることができますが、どこで停止するのではなく、アンドロイドのスタジオはブレークポイントが付けられていると私に教えています。

私は誰が私を助けることができるのAndroid Studioの2.2プレビュー6

を使用していますか?

+0

はhttps://codelabs.developers.google.com/で、コードラボ "のAndroid StudioでのHello-JNIを作成する" を調べてください。あなたのコードにはコードラボのものと違いがあり、別のgradleプラグインを使用しているかもしれません。 – marcinj

+0

あなたが指している例は十分ではありません.ndk-buildを使用していないので(Android.mkもApplication.mkファイルもありません)、各gradleのバージョンはリリースごとに大きく変更されます。利用可能なndk gradleオプションのリファレンス –

+0

解決策は見つかりましたか? – tower120

答えて

0

は、私が持っている二つのモジュールが含まれています、 1つはC++コード(ライブラリ)であり、もう1つはライブラリモジュールを使用するアプリケーションです。

問題は、アプリケーションモジュールを使用してライブラリモジュールをデバッグしようとしていたため、デバッグシンボルは次のとおりです。

Run-> Edit configurations ... - > Debuggerとシンボルディレクトリタブの右側のパスを追加します。例えば:

/path_to_my_project/lib_module/build/intermediates/ndkBuild/flavor/debug/obj/local/x86 

enter image description here

0

app.impファイルは "< "ファセットタイプ=" native_android_gradle">」、オプション= SELECTED_BUILD_VARIANT ..

チェック値=場合は、 "デバッグ" 私の場合は

関連する問題