Android 为什么可以';你找不到这个目录吗?

Android 为什么可以';你找不到这个目录吗?,android,logcat,Android,Logcat,Marcs MacBook Pro:java marcus$pidcat com.myapp.android.debug Traceback (most recent call last): File "/usr/local/bin/pidcat", line 150, in <module> adb = subprocess.Popen(adb_command, stdin=PIPE, stdout=PIPE, stderr=PIPE) File "/System/

Marcs MacBook Pro:java marcus$pidcat com.myapp.android.debug

Traceback (most recent call last):
  File "/usr/local/bin/pidcat", line 150, in <module>
    adb = subprocess.Popen(adb_command, stdin=PIPE, stdout=PIPE, stderr=PIPE)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 709, in __init__
    errread, errwrite)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1326, in _execute_child
    raise child_exception
OSError: [Errno 20] Not a directory
回溯(最近一次呼叫最后一次):
文件“/usr/local/bin/pidcat”,第150行,在
adb=subprocess.Popen(adb_命令,stdin=PIPE,stdout=PIPE,stderr=PIPE)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第709行,在__
错误读取,错误写入)
文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py”,第1326行,在执行子进程中
引发子对象异常
OSError:[Errno 20]不是目录

我指定了com.myapp.android.debug,因为我在android Studio的logcat查看器中看到它,尽管我实际上没有debug文件夹。我在“com”的父目录中运行了pidcat脚本;java/com/myapp/android

确保adb在您的路径中,并且您使用的是绝对路径,没有tilda(~)

因此,您应该能够运行echo$PATH并获得类似的结果

Marcs-MacBook-Pro:java marcus$ echo $PATH
/Users/marcush/Library/Android/sdk/platform-tools:<restofpath>
marcsmacbookpro:javamarcus$echo$PATH
/用户/marcush/Library/Android/sdk/平台工具:

与上述错误相关,您的系统上可能没有pidcat.py脚本。 请确保以下内容(如pidcat页面所述的步骤)

  • Python安装在您的系统上
  • 已安装命令行“adb”。如果没有,请尝试在path变量中添加sdk路径
  • 参考)

  • 在.bashrc或.zshrc中包含这些行
  • 通过使用验证adb是否已启动并运行
  • 下载文件并将其放置在您的路径中

  • 最终路径将类似于这样

  • 最后,尝试在终端上运行pidcat

  • 我显示了相同的错误日志。在我的mac中将adb path设置为$path env变量后,它开始工作。一定要试一下。在运行pidcat命令之前,检查adb是否工作正常。即,尝试运行adb设备应返回连接的设备

    export PATH=$PATH:<path to Android SDK>/platform-tools
    export PATH=$PATH:<path to Android SDK>/tools
    
    export PATH=$PATH:/platform工具
    导出路径=$PATH:/tools
    
    我必须在哪里编写此导出命令?我们可以在mac上的终端或windows中的命令提示符下为打开的会话运行这些命令。我们可以将这些命令添加到.bashrc或.zshrc以获得持久性。请参考上面@Mayuri Khinvasara的答案。她已经详细说明了步骤。
    echo "export PATH=\$PATH:/Users/${USER}/Library/Android/sdk/platform-tools/" >> ~/.bash_profile && source ~/.bash_profile
    
    
    adb devices
    
    export PATH=/Users/mayurik/Library/Android/sdk/platform-tools/adb:/Users/mayurik/Library/Android/sdk/tools:/Users/mayurik/pidcat/pidcat.py:/anaconda2/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
    
    
    export PATH=$PATH:<path to Android SDK>/platform-tools
    export PATH=$PATH:<path to Android SDK>/tools