获取Android';的shell脚本出错;来自logcat的源信息
我正试图使用这个shell脚本从ndk获取详细的错误信息,如这里所述。但是我遇到了一些错误,我不知道shell脚本,这里有人能帮我吗 代码获取Android';的shell脚本出错;来自logcat的源信息,android,bash,shell,android-ndk,Android,Bash,Shell,Android Ndk,我正试图使用这个shell脚本从ndk获取详细的错误信息,如这里所述。但是我遇到了一些错误,我不知道shell脚本,这里有人能帮我吗 代码 if [ $# -lt 1 ] then echo usage: $0 app exit 0 fi APP=$1 LOG_FILE=$2 if [ ! -n "${ANDROID_NDK}" ] then ANDROID_NDK=`dirname $0` echo ANDROID_NDK is not set using
if [ $# -lt 1 ]
then
echo usage: $0 app
exit 0
fi
APP=$1
LOG_FILE=$2
if [ ! -n "${ANDROID_NDK}" ]
then
ANDROID_NDK=`dirname $0`
echo ANDROID_NDK is not set using ${ANDROID_NDK}
fi
ADDR2LINE=${ANDROID_NDK}/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/bin/arm-eabi-addr2line
if [ ! -s $LOG_FILE ]
then
echo File $LOG_FILE does not exist or empty.
exit 0
fi
while read LINE
do
echo $LINE
if [[ $LINE =~ ^.+\#[0-9]{2}\ +pc\ +([0-9A-Fa-f]{8})\ +(.+\.so).?$ ]]
then
ADDR=${BASH_REMATCH[1]}
SO=`basename ${BASH_REMATCH[2]}`
SRC=`${ADDR2LINE} -C -f -e ${ANDROID_NDK}/out/apps/${APP}/armeabi/$
{SO} ${ADDR} 2>/dev/null`
echo ${SRC}
输出
./stack.sh: line 42: conditional binary operator expected
./stack.sh: line 42: syntax error near `=~'
./stack.sh: line 42: ` if [[ $LINE =~ ^.+#[0-9]{2}\ +pc\ +([0-9A-Fa-f]{8})\ +(.+\.so).?$ ]] '
Bash版本3中添加了
=~
操作符;您可能需要更新