2016-04-07 55 views
5

Używam NDK z eksperymentalną wtyczką gradle i początkowo mogłem debugować mój kod natywny.Android NDK nie może debugować natywnego kodu z dwiema wtyczkami gradul

Następnie zobaczyłem ten numer https://github.com/googlesamples/android-ndk/issues/119 i ten wpis na blogu http://frogermcs.github.io/json-parsing-with-flatbuffers-in-android/. Takie podejście byłoby świetne, ponieważ mogłem użyć stabilnej wtyczki gradle dla specyficznego dla Androida kodu, oraz eksperymentalnej wtyczki gradle dla natywnego kodu, na przykład świetnie byłoby użyć funkcji wiązania danych. Udało mi się użyć tej struktury, ale utraciłem możliwość debugowania kodu natywnego.

Stworzyłem przykładowy projekt, który ilustruje mój problem. https://github.com/4brunu/AndroidNDKDebug

Tam można znaleźć dwa projekty. Pierwsza "hello-jni-one-gradle-plugin" używa tylko eksperymentalnej wtyczki gradle i jestem w stanie debugować natywny kod. Drugi z nich to "hello-jni-two-gradle-plugins", korzystam ze stabilnej wtyczki gradle dla specyficznego dla Androida kodu oraz eksperymentalnej wtyczki gradle dla natywnego kodu i nie jestem w stanie debugować natywnego kodu.

Czy robię coś nie tak? Czy możesz mi pomóc włączyć debugowanie kodu natywnego w drugim projekcie?

Dzięki

Odpowiedz

3

Używam tej samej konfiguracji w jednym z moich projektów, z Android Studio 2.1-preview5, Gradle-eksperymentalnego 0.7.0-alpha5 i Gradle plugin 2.1.0-alpha5 i działa debugowania .

Sekret brakującym krokiem jest dodanie ścieżki do niewyspecjalizowanych pozbawiony libs do debugera: lib/build/intermediates/binaries/release/obj/ABI

ndk debug symbol directories

+0

Dzięki za ciebie anwser, ale cound't znaleźć tę ścieżkę ... Can proszę spojrzeć na mój przykładowy projekt? Dzięki https://github.com/4brunu/AndroidNDKDebug –

+0

Po uruchomieniu jednej kompilacji ścieżka powinna mieć postać "shared/build/intermediates/binaries/release/obj/x86", jeśli używasz urządzenia x86 lub emulator, 'shared/build/intermediates/binaries/release/obj/armeabi-v7a', jeśli używasz urządzenia armeabi-v7a. Być może musisz również zaktualizować wersje wtyczek w swojej próbce, przynajmniej do wersji 2.0.0 (stable) i 0.6.0 (experimental) – ph0b

+0

Wielkie dzięki, to się udało :) –