Я использую ndk-gdb android-ndk-r9d-linux-x86 в Ubuntu 12.04 для отладки нативного приложения Android «hello-jni», но оно получает эту ошибку.
WARNING: The shell running this script isn't bash. Although we try to avoid bashism in scripts, things can happen.
.../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: 143: .../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: Bad substitution
.../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: 555: [: 1: unexpected operator
.../adt-bundle-linux-x86-20140321/android-ndk-r9d/ndk-gdb: 771: [: armeabi-v7a: unexpected operator
но с android-ndk-r8e-linux-x86 все в порядке, интересно почему? Благодарю.
Я считаю, что «ndk-gdb» не рекомендуется в пользу «ndk-gdb.py» (хотя это не было широко разрекламировано, IMO.) При использовании r9d у меня была та же проблема, о которой вы сообщали выше, но версия на python работала без вопрос.
WARNING: The shell running this script isn't bash. Although we try to avoid bashism in scripts, things can happen.
— Это означает, что вы используете что-то вроде тире.
Измените / bin / sh на / bin / bash, чтобы устранить предупреждение и проблему «плохой замены».