2016-04-07 35 views
5

Sto utilizzando NDK con il plug-in sperimentale gradle e inizialmente ho potuto eseguire il debug del mio codice nativo.NDK Android non è in grado di eseguire il debug del codice nativo con due plugin gradle

Quindi ho visto questo numero https://github.com/googlesamples/android-ndk/issues/119 e questo post del blog http://frogermcs.github.io/json-parsing-with-flatbuffers-in-android/. Questo approccio sarebbe fantastico, perché potrei usare il plugin gradle stabile per il codice specifico di Android, e il plugin gradle sperimentale per il codice nativo, ad esempio sarebbe ottimo usare l'uso del databinding. Sono stato in grado di utilizzare questa struttura, ma ho perso la possibilità di eseguire il debug del codice nativo.

Ho creato un progetto di esempio che illustra il mio problema. https://github.com/4brunu/AndroidNDKDebug

Qui puoi trovare due progetti. Il primo "ciao-jni-uno-gradle-plugin", usa solo il plug-in sperimentale gradle e riesco a eseguire il debug del codice nativo. Il secondo "ciao-jni-due-gradli-plug-in", utilizzo il plugin gradle stabile per il codice specifico di Android e il plug-in gradle sperimentale per il codice nativo e non riesco a eseguire il debug del codice nativo.

Sto facendo qualcosa di sbagliato? Potresti aiutarmi ad abilitare il debug del codice nativo nel secondo progetto, per favore?

Grazie

risposta

3

sto usando lo stesso setup in uno dei miei progetti, con lo Studio Android 2.1-preview5, Gradle-sperimentale 0.7.0-a5, e Gradle plug-2.1.0-a5, e le opere di debug .

Il passo mancante segreto è quello di aggiungere il percorso alle vostre librerie non spogliato al debugger: lib/build/intermediates/binaries/release/obj/ABI

ndk debug symbol directories

+0

Grazie per voi anwser, ma ho scoperto che cound't percorso ... Can per favore date un'occhiata al mio progetto di esempio? Grazie https://github.com/4brunu/AndroidNDKDebug –

+0

Dopo aver attivato una build, il tuo percorso dovrebbe essere 'shared/build/intermediates/binari/release/obj/x86' se stai usando un dispositivo x86 o l'emulatore, 'shared/build/intermediates/binari/release/obj/armeabi-v7a' se stai usando un dispositivo armeabi-v7a. Forse hai anche bisogno di aggiornare le versioni dei plugin nel tuo campione, almeno a 2.0.0 (stabile) e 0.6.0 (sperimentale) – ph0b

+0

Grazie mille, questo ha fatto il trucco :) –