我正在尝试设置一个模拟的 android 设备来使用 Google 的消毒剂调试一些本机代码。在使用准备设备运行净化代码所需的 asan_device_setup 脚本时,出现以下情况:
输出:
Peter Logan@DESKTOP-PLN /cygdrive/c/Android/sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin
$ sh asan_device_setup
>> Remounting /system rw
remount succeeded
Target architecture: i686
>> Copying files from the device
adb: error: cannot create file/directory '/tmp/tmp.8fXB5R9Db6/old': No such file or directory
adb: error: cannot create file/directory '/tmp/tmp.8fXB5R9Db6/old': No such file or directory
adb: error: cannot create file/directory '/tmp/tmp.8fXB5R9Db6/old': No such file or directory
adb: error: cannot create file/directory '/tmp/tmp.8fXB5R9Db6/old': No such file or directory
>> New installation
>> Generating wrappers
Only in new/: app_process.wrap
Only in new/: asanwrapper
Only in new/: libclang_rt.asan-i686-android.so
>> Pushing files to the device
Installing /system/lib/libclang_rt.asan-i686-android.so 644
adb: error: cannot stat '/tmp/tmp.8fXB5R9Db6/new/libclang_rt.asan-i686-android.so': No such file or directory
脚本针对第一组错误运行的代码是:
adb_pull /system/lib/"$ASAN_RT" "$TMPDIROLD" || true
adb_pull /system/bin/app_process32 "$TMPDIROLD" || true
adb_pull /system/bin/app_process.wrap "$TMPDIROLD" || true
adb_pull /system/bin/asanwrapper "$TMPDIROLD" || true
我检查了源文件和“$TMPDIROLD”文件夹都存在,这与错误消息所暗示的相反。
任何帮助找出造成这种情况的原因将不胜感激。
终端:Cygwin
模拟器:Android API21,已植根