Android - 通过Logcat Manager简单获取Android手机的Log

由于工作需要,经常需要获取Android手机的Log。

平常都是通过adb命令来获取,每次都要写命令。

偶然的一个机会,我从外网发现了一个工具 Logcat Manager,只需要通过简单的双击即可获取Android的Log,这里也分享一下。

目录

1, 设定手机为开发者模式,并打开USB debugging

1-1,连续快速点6次 Build number 打开Developer 开发者模式

1-2,设置为USB访问可

2,用USB线连接Android手机到PC

3,通过Logcat Manager 获取Log

3-1,展开zip包

3-2,设置快捷方式(不是必须的)

3-3,获取Log

1),双击打开bat文件

2),选择获取Log的选项

3),确认获取的Log


下面说一下通过该工具获取Android手机Log的步骤。

1, 设定手机为开发者模式,并打开USB debugging

如何设置开发者模式,可以参照如下文章。

Android - Pixel 6a 手机OS 由 Android 15 降级到 Android 14 操作记录_安卓15怎么降到安卓14-CSDN博客

为了阅读方便,我也给转记到这里来:

1-1,连续快速点6次 Build number 打开Developer 开发者模式

点完之后会提醒你已经是开发者模式了

1-2,设置为USB访问可

回到上一层,点System,下拉到 Developer Option,点进去

把 USB debugging 打开

2,用USB线连接Android手机到PC

注意用一条紧实的线,不然的话,Log的取得就会中断。

3,通过Logcat Manager 获取Log

3-1,展开zip包

这里面咱们要使用的就是这个AIO_Logcat_Manager.bat文件

这里我也贴一下该bat文件的代码。

其实你细看的话,它是调用adb来获取log,所有本身并不算是新知识,属于一个功能的包装,可以提高效率,减少运用难度。

@echo off
COLOR 0F
setlocal enabledelayedexpansion
IF (%1)==(0) goto logo
mode con:cols=82 lines=46
mkdir Logcat_Output
set model=adb shell "cat /system/build.prop | grep "ro.product.model""
set appname=None:logo
cls
ECHO.
ECHO.
ECHO.
echo                             `---..` ``````````..---`
echo                             `----------------------.
echo                             `----------------------.
echo                            `------------------------.
echo                            --------O--------O--------.
echo                            ---------------------------
echo                            ------------bd------------.
echo                            .-------------------------.
echo                             .--------\----/---------. 
echo                              `.--------------------`
echo                           ``    ``...--------...`
echo                            `..     `---------`
echo                             `...``.--.--.--.--
echo                               `....--`--`--`--
echo                                    .-`--`--`--
echo                                 `` .-`--`--`--``..
echo.
echo.
echo                          .//`     -:::-   //::///:`                     
echo                          mMMM+    +MMMmodMMm: +MMMhhMMM-                    
echo                         +MdMMMs    MMMy `NMMM``MMMhhMMd`                    
echo                        /MModMMMo  `MMMy  mMMM..MMMdyMMMh                    
echo                      `+MMs+oNMMMo.:MMMd:sMMMo +MMMh/MMMN`                   
echo                      /yyy/ -syyys/sysssyys+. `yysssyys+`                    
echo.
echo.
echo        -syyys-     -osyyo:     :oyysos/   `:oyys+/.    /ys:     +yssssssy-  
echo        `sMMMs`   -mMMssNMMm- /NMMs/omMM` +NMNoohMMN   `MMMMs   +MNyMMMddMN  
echo         :MMM+    dMMM` :MMMN.MMMd  -:o+.-MMMy         hMsNMMy  `:`.MMMy --  
echo         -MMM+  +:hMMMy  NMMm`NMMM::yMMMy:NMMM+`      yMNhmMMMy    :MMMy     
echo        `sMMMdohMy`sNMMmdMMy. .hMMMddMNo  -dMMMMNMMo:hMM+./NMMMh- :hMMMm+    
echo        `:::::://   `-///-`     `:///-      `:///.  -///. ./` `:.    
echo.
echo.
ECHO.
echo                 ALL IN ONE ADB LOGCAT MANAGER FOR ANDROID DEVICES
echo                                 By: majdinj - xda
echo.
ECHO.
ECHO.
pause:ReadMe
cls
ECHO.
ECHO.
ECHO.
ECHO           ************************************************************
ECHO           ************************************************************
ECHO           **                                                        **
ECHO           **     Before you start, make sure of the followings:     **
ECHO           **                                                        **
ECHO           ************************************************************
ECHO           ************************************************************
ECHO.
ECHO.
ECHO.
ECHO           ************************************************************
ECHO           *                                                          *
ECHO           * 1. Your device USB driver is installed on your computer. *
ECHO           *                                                          *
ECHO           * 2. Your device is set on USB debugging mode.             *
ECHO           *                                                          *
ECHO           * 3. You connect your device to the computer by USB cable. *
ECHO           *                                                          *
ECHO           * 4. Your computer recognizes your device.                 *
ECHO           *                                                          *
ECHO           ************************************************************
ECHO.
ECHO.
ECHO.
ECHO.
echo Are you ready.. let's proceed? (any letter for YES, n or no for NO)
set /P INPUTP=Make your choice: %=%
IF "%INPUTP%"=="" (call :YContinue)
IF "%INPUTP%"==" " (call :YContinue)
IF "%INPUTP%"=="  " (call :YContinue)
IF "%INPUTP%"=="   " (call :YContinue)
IF "%INPUTP%"=="    " (call :YContinue)
IF "%INPUTP%"=="     " (call :YContinue)
IF %INPUTP%==n (call :NContinue)
IF %INPUTP%==no (call :NContinue)
IF %INPUTP%==nO (call :NContinue)
IF %INPUTP%==N (call :NContinue)
IF %INPUTP%==No (call :NContinue)
IF %INPUTP%==NO (call :NContinue)
:YContinue
ECHO.
ECHO.
ECHO.
echo  Proceeding...
ECHO.
ECHO.
ECHO               **************************************************
ECHO               *     Activating ADB Shell... Please wait...     *
ECHO               **************************************************
goto restart
:NContinue
ECHO.
ECHO.
ECHO.
echo  Quitting...
ECHO.
ECHO.
ECHO.
ECHO                **************************************************
ECHO                *        Come again once you are ready...        *
ECHO                **************************************************
ECHO.
echo.
timeout 4
EXIT:restart
cd "%~dp0"
cd %~dp0/tools
%model% > nul
IF %ERRORLEVEL% NEQ 0 (goto adberror)
cd "%~dp0"
set appname=None
goto MainMenu:MainMenu
COLOR 0E
cls
echo Date: %date%
echo Time: %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
cd %~dp0/tools
set /p "=Device ID: " <nul
%model%
cd "%~dp0"
echo.
echo  --------------------------------------------------------------------------------
echo.
echo                        All In One Android Logcat Manager v1
echo.
echo  --------------------------------------------------------------------------------
echo.
echo              1   Export Normal All levels logcat to txt file
echo              2   Export Normal Time-line logcat to txt file
echo              3   Export Normal Neat logcat to txt file
echo              4   Export Only Error level logcat to txt file
echo              5   Export Only Fatal level logcat to txt file
ECHO.
echo              6   Export All levels Radio logcat to txt file
echo              7   Export Only Error level Radio logcat to txt file
echo              8   Export Only Fatal level Radio logcat to txt file
ECHO.
ECHO              9   Special process filtered by name logcat mode
echo.
echo              10  Read exported logcat txt file in Logcat_Output folder
echo.
echo              11  Advanced Kernel logcat [NEEDS SU ROOT ACCESS PERMISSIONS]
echo.
echo              12  Clean Logcat_Output folder
echo              13  Terminate and exit ADB session
echo.
echo  --------------------------------------------------------------------------------
echo.
SET /P menu=Please make your decision:
IF %menu%==1 (goto all)
IF %menu%==2 (goto time)
IF %menu%==3 (goto neat)
IF %menu%==4 (goto error)
IF %menu%==5 (goto fatal)
IF %menu%==6 (goto Nradio)
IF %menu%==7 (goto Eradio)
IF %menu%==8 (goto Fradio)
IF %menu%==9 (goto MainMenu1)
IF %menu%==10 (goto fileselect)
IF %menu%==11 (goto MainMenu2)
IF %menu%==12 (goto clean)
IF %menu%==13 (goto termexit)@REM If you got here, it wasn't 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, or 13
echo.
echo.
ECHO                 *************************************************
echo                 *    Are you crazy.. choose something exist.    *
ECHO                 *************************************************
echo.
echo.
PAUSE
goto restart:all
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
echo Exporting all levels logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat > ../Logcat_Output/[All-levels-Logcat].txt
cd "%~dp0"
goto stop:time
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
echo Exporting time-line logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat -v time -d > ../Logcat_Output/[Time-line-Logcat].txt
cd "%~dp0"
goto stop:neat
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
echo Exporting Neat logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat -v long > ../Logcat_Output/[Neat-Logcat].txt
cd "%~dp0"
goto stop:error
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
echo Exporting error level logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat *:E -v long > ../Logcat_Output/[Error-level-Logcat].txt
cd "%~dp0"
goto stop:fatal
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
echo Exporting fatal level logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat *:F -v long > ../Logcat_Output/[Fatal-level-Logcat].txt
cd "%~dp0"
goto stop:Nradio
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
echo Exporting All levels Radio logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat -b radio -v time -d > ../Logcat_Output/[All-levels-Radio-Logcat].txt
cd "%~dp0"
goto stop:Eradio
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
echo Exporting Error level Radio logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat -b radio *:E -v time -d > ../Logcat_Output/[Error-level-Radio-Logcat].txt
cd "%~dp0"
goto stop:Fradio
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
echo Exporting Fatal level Radio logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat -b radio *:F -v time -d > ../Logcat_Output/[Fatal-level-Radio-Logcat].txt
cd "%~dp0"
goto stop:stop
echo ADB logcat exporting is running now...
echo To stop exporting, press ENTER key..
set /P INPUT0=Stop Now: %=% > nul
IF "%INPUT0%"=="" (call :YStop)
:YStop
echo logcat has been stopped..
goto OpenOutput:OpenOutput
echo.
echo Open Logcat_Output folder? (any letter for YES, n or no for NO)
set /P INPUT=Make your choice: %=%
IF "%INPUT%"=="" (call :YOpenOutput)
IF %INPUT%==n (call :NOpenOutput)
IF %INPUT%==no (call :NOpenOutput)
IF %INPUT%==nO (call :NOpenOutput)
IF %INPUT%==N (call :NOpenOutput)
IF %INPUT%==No (call :NOpenOutput)
IF %INPUT%==NO (call :NOpenOutput)
:YOpenOutput
cd %~dp0/tools
adb kill-server
adb kill-server
cd "%~dp0"
cd %~dp0/Logcat_Output
IF EXIST "[All-levels-Logcat].txt" (REN "[All-levels-Logcat].txt" "[All-levels-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Time-line-Logcat].txt" (REN "[Time-line-Logcat].txt" "[Time-line-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Neat-Logcat].txt" (REN "[Neat-Logcat].txt" "[Neat-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Error-level-Logcat].txt" (REN "[Error-level-Logcat].txt" "[Error-level-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Fatal-level-Logcat].txt" (REN "[Fatal-level-Logcat].txt" "[Fatal-level-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[All-levels-Radio-Logcat].txt" (REN "[All-levels-Radio-Logcat].txt" "[All-levels-Radio-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Error-level-Radio-Logcat].txt" (REN "[Error-level-Radio-Logcat].txt" "[Error-level-Radio-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Fatal-level-Radio-Logcat].txt" (REN "[Fatal-level-Radio-Logcat].txt" "[Fatal-level-Radio-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
start "" "%~dp0/Logcat_Output"
echo.
echo Re-activating ADB Shell, Please Wait...
set appname=None
goto restart
:NOpenOutput
cd %~dp0/tools
adb kill-server
adb kill-server
cd "%~dp0"
cd %~dp0/Logcat_Output
IF EXIST "[All-levels-Logcat].txt" (REN "[All-levels-Logcat].txt" "[All-levels-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Time-line-Logcat].txt" (REN "[Time-line-Logcat].txt" "[Time-line-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Neat-Logcat].txt" (REN "[Neat-Logcat].txt" "[Neat-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Error-level-Logcat].txt" (REN "[Error-level-Logcat].txt" "[Error-level-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Fatal-level-Logcat].txt" (REN "[Fatal-level-Logcat].txt" "[Fatal-level-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[All-levels-Radio-Logcat].txt" (REN "[All-levels-Radio-Logcat].txt" "[All-levels-Radio-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Error-level-Radio-Logcat].txt" (REN "[Error-level-Radio-Logcat].txt" "[Error-level-Radio-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Fatal-level-Radio-Logcat].txt" (REN "[Fatal-level-Radio-Logcat].txt" "[Fatal-level-Radio-Logcat]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
echo.
echo Re-activating ADB Shell, Please Wait...
set appname=None
goto restart:fileselect
cls
echo.
echo            -----------------------------------------------------------
echo                         Please select a file from the list
echo                             bellow to view its content
echo            -----------------------------------------------------------
echo.
set /A count=0
FOR %%F IN (Logcat_Output/*.txt) DO (
set /A count+=1
set a!count!=%%F
if /I !count! LEQ 9 (echo ^- !count!  - %%F )
if /I !count! GTR 9 (echo ^- !count! - %%F )
)
FOR %%F IN (Logcat_Output/*.xml) DO (
set /A count+=1
set a!count!=%%F
if /I !count! LEQ 9 (echo ^- !count!  - %%F )
if /I !count! GTR 9 (echo ^- !count! - %%F )
)
echo.
echo.
echo           (Any other number or letter to return back to the main menu..)
echo       ----------------------------------------------------------------------
set /P INPUT1=Please Enter The File Number: %=%
if /I %INPUT1% GTR !count! (goto non)
if /I %INPUT1% LSS 1 (goto non)
set txts=!a%INPUT1%!
set jar=0
set ext=jar
IF "!txts:%ext%=!" NEQ "%txts%" set jar=1
cd "%~dp0"
start "" "%~dp0/Logcat_Output/%txts%"
cd "%~dp0"
goto restart
:non
goto restart:clean
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output
echo.
echo A cleaned Logcat_Output folder is created..
echo.
PAUSE
goto restart
)
echo.
echo Cleaning Logcat_Output folder..
cd %~dp0/tools
adb kill-server > nul
adb kill-server > nul
adb kill-server > nul
cd "%~dp0"
rmdir /S /Q Logcat_Output > nul
mkdir Logcat_Output
echo.
echo Cleaned..
echo Re-activating ADB Shell, Please Wait...
echo.
timeout 0 > nul
goto restart:restart1
cd "%~dp0"
cd %~dp0/tools
%model% > nul
IF %ERRORLEVEL% NEQ 0 (goto adberror)
cd "%~dp0"
set appname=None
goto MainMenu1:MainMenu1
COLOR 0E
cls
echo Date: %date%
echo Time: %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
cd %~dp0/tools
set /p "=Device ID: " <nul
%model%
cd "%~dp0"
echo.
echo  --------------------------------------------------------------------------------
echo.
echo                          Process Logcat Filtered By Name
echo.
echo  --------------------------------------------------------------------------------
echo  --------------------------------------------------------------------------------
ECHO  ^| Process Name To Filter: %appname% ^|
echo  --------------------------------------------------------------------------------
echo.
echo              0   Type a Process Name to Filter
ECHO.
echo              1   Export Normal All levels Filtered logcat to txt file
echo              2   Export Only Error level Filtered logcat to txt file
echo              3   Export Only Fatal level Filtered logcat to txt file
echo.
echo              4   Export All levels Filtered Radio logcat to txt file
echo              5   Export Error level Filtered Radio logcat to txt file
echo              6   Export Fatal level Filtered Radio logcat to txt file
ECHO.
echo              7   Return Back To The Main Menu
echo.
echo  --------------------------------------------------------------------------------
ECHO.
SET /P menuf=Please make your decision:
IF %menuf%==0 (goto filtername)
IF %menuf%==1 (goto filterall)
IF %menuf%==2 (goto filtererror)
IF %menuf%==3 (goto filterfatal)
IF %menuf%==4 (goto filterradio)
IF %menuf%==5 (goto filterErradio)
IF %menuf%==6 (goto filterFatradio)
IF %menuf%==7 (goto restart)@REM If you got here, it wasn't 0, 1, 2, 3, 4, 5, 6, or 7
echo.
echo.
ECHO                 *************************************************
echo                 *    Are you crazy.. choose something exist.    *
ECHO                 *************************************************
echo.
echo.
PAUSE
set appname=None
goto restart1:filtername
ECHO.
set /P newname=Type the process name to filter: %=%
set appname=%newname%
if "%newname%"=="" (goto ss1)
if "%newname%"==" " (goto ss1)
if "%newname%"=="  " (goto ss1)
if "%newname%"=="   " (goto ss1)
if "%newname%"=="    " (goto ss1)
if "%newname%"=="     " (goto ss1)
if "%newname%"=="      " (goto ss1)
if "%newname%"=="       " (goto ss1)
if "%newname%"=="        " (goto ss1)
if "%newname%"=="         " (goto ss1)
if "%newname%"=="          " (goto ss1)
if "%newname%"=="           " (goto ss1)
if "%newname%"=="            " (goto ss1)
if "%newname%"=="             " (goto ss1)
if "%newname%"=="              " (goto ss1)
if "%newname%"=="               " (goto ss1)
if "%newname%"=="                " (goto ss1)
if "%newname%"=="                 " (goto ss1)
if "%newname%"=="                  " (goto ss1)
if "%newname%"=="                   " (goto ss1)
if "%newname%"=="                    " (goto ss1)
if "%newname%"=="                     " (goto ss1)
if "%newname%"=="                      " (goto ss1)
if "%newname%"=="                       " (goto ss1)
if "%newname%"=="                        " (goto ss1)
if "%newname%"=="                         " (goto ss1)
if "%newname%"=="                          " (goto ss1)
if "%newname%"=="                           " (goto ss1)
if "%newname%"=="                            " (goto ss1)
if "%newname%"=="                             " (goto ss1)
if "%newname%"=="                              " (goto ss1)
goto MainMenu1:filterall
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
if %appname%==None goto ss
echo Exporting all levels %appname% filtered logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat %appname% *:S -v long > ../Logcat_Output/[All-levels-Logcat-filtered].txt
cd "%~dp0"
goto stop1:filtererror
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
if %appname%==None goto ss
echo Exporting %appname% filtered error level logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat %appname%:E *:S -v long > ../Logcat_Output/[Error-level-Logcat-filtered].txt
cd "%~dp0"
goto stop1:filterfatal
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
if %appname%==None goto ss
echo Exporting %appname% filtered fatal level logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat %appname%:F *:S -v long > ../Logcat_Output/[Fatal-level-Logcat-filtered].txt
cd "%~dp0"
goto stop1:filterradio
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
if %appname%==None goto ss
echo Exporting All levels %appname% filtered Radio logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat -b radio %appname% *:S -v time -d > ../Logcat_Output/[All-levels-Radio-Logcat-filtered].txt
cd "%~dp0"
goto stop1:filterErradio
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
if %appname%==None goto ss
echo Exporting %appname% filtered Error level Radio logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat -b radio %appname%:E *:S -v time -d > ../Logcat_Output/[Error-level-Radio-Logcat-filtered].txt
cd "%~dp0"
goto stop1:filterFatradio
if not exist %~dp0\Logcat_Output\ (mkdir Logcat_Output)
echo.
if %appname%==None goto ss
echo Exporting %appname% filtered Fatal level Radio logcat,,,
echo.
cd %~dp0/tools
start /b adb logcat -b radio %appname%:F *:S -v time -d > ../Logcat_Output/[Fatal-level-Radio-Logcat-filtered].txt
cd "%~dp0"
goto stop1:ss
echo.
echo.
ECHO         *****************************************************************
echo         *      Please Type A Process Name To Logcat It. (Option 0)      *
ECHO         *****************************************************************
echo.
echo.
PAUSE
goto restart1:ss1
echo.
echo.
ECHO         *****************************************************************
echo         * You Haven't Type Anything,, Please Type A Valid Process Name. *
ECHO         *****************************************************************
echo.
echo.
pause
goto restart1:stop1
echo ADB logcat exporting is running now...
echo To stop exporting, press ENTER key..
set /P INPUTS=Stop Now: %=% > nul
IF "%INPUTS%"=="" (call :YStop1)
:YStop1
echo logcat has been stopped..
goto OpenOutput1:OpenOutput1
echo.
echo Open Logcat_Output folder? (any letter for YES, n or no for NO)
set /P INPUTS1=Make your choice: %=%
IF "%INPUTS1%"=="" (call :YOpenOutput1)
IF %INPUTS1%==n (call :NOpenOutput1)
IF %INPUTS1%==no (call :NOpenOutput1)
IF %INPUTS1%==nO (call :NOpenOutput1)
IF %INPUTS1%==N (call :NOpenOutput1)
IF %INPUTS1%==No (call :NOpenOutput1)
IF %INPUTS1%==NO (call :NOpenOutput1)
:YOpenOutput1
cd %~dp0/tools
adb kill-server
adb kill-server
cd "%~dp0"
cd %~dp0/Logcat_Output
IF EXIST "[All-levels-Logcat-filtered].txt" (REN "[All-levels-Logcat-filtered].txt" "[All-levels-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[All-levels-Radio-Logcat-filtered].txt" (REN "[All-levels-Radio-Logcat-filtered].txt" "[All-levels-Radio-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Error-level-Logcat-filtered].txt" (REN "[Error-level-Logcat-filtered].txt" "[Error-level-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Fatal-level-Logcat-filtered].txt" (REN "[Fatal-level-Logcat-filtered].txt" "[Fatal-level-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Error-level-Radio-Logcat-filtered].txt" (REN "[Error-level-Radio-Logcat-filtered].txt" "[Error-level-Radio-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Fatal-level-Radio-Logcat-filtered].txt" (REN "[Fatal-level-Radio-Logcat-filtered].txt" "[Fatal-level-Radio-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
start "" "%~dp0/Logcat_Output"
echo.
echo Re-activating ADB Shell, Please Wait...
set appname=None
goto restart1
:NOpenOutput1
cd %~dp0/tools
adb kill-server
adb kill-server
cd "%~dp0"
cd %~dp0/Logcat_Output
IF EXIST "[All-levels-Logcat-filtered].txt" (REN "[All-levels-Logcat-filtered].txt" "[All-levels-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[All-levels-Radio-Logcat-filtered].txt" (REN "[All-levels-Radio-Logcat-filtered].txt" "[All-levels-Radio-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Error-level-Logcat-filtered].txt" (REN "[Error-level-Logcat-filtered].txt" "[Error-level-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Fatal-level-Logcat-filtered].txt" (REN "[Fatal-level-Logcat-filtered].txt" "[Fatal-level-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Error-level-Radio-Logcat-filtered].txt" (REN "[Error-level-Radio-Logcat-filtered].txt" "[Error-level-Radio-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
IF EXIST "[Fatal-level-Radio-Logcat-filtered].txt" (REN "[Fatal-level-Radio-Logcat-filtered].txt" "[Fatal-level-Radio-Logcat-(%appname%)-filtered]_%Date:~-7,2%-%Date:~-10,2%-%Date:~-4,4%_%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%.txt")
echo.
echo Re-activating ADB Shell, Please Wait...
set appname=None
goto restart1:restart2
cd "%~dp0"
cd %~dp0/tools
%model% > nul
IF %ERRORLEVEL% NEQ 0 (goto adberror)
cd "%~dp0"
set appname=None
goto MainMenu2:MainMenu2
COLOR 0E
cls
echo Date: %date%
echo Time: %TIME:~0,2%:%TIME:~3,2%:%TIME:~6,2%
cd %~dp0/tools
set /p "=Device ID: " <nul
%model%
cd "%~dp0"
echo.
echo  --------------------------------------------------------------------------------
echo.
echo                 Advanced Kernel Logcat (SU PERMISSIONS IS NEEDED!)
echo.
echo  --------------------------------------------------------------------------------
ECHO   PLEASE, ACCEPT / GUARANTEE SU ROOT ACCESS PERMISSIONS IF PROMPT IN YOUR DEVICE
echo  --------------------------------------------------------------------------------
echo.
echo              1  Read Only Kernel contineous message logcat (kmsg)
echo              2  Read Only Kernel last message logcat (last_kmsg)
echo              3  Read Only Kernel buffer message logcat (dmesg)
ECHO.
echo              4  Export Kernel contineous message logcat (kmsg) to Output folder
echo              5  Export Kernel last message logcat (last_kmsg) to Output folder
echo              6  Export Kernel buffer message logcat (dmesg) to Output folder
ECHO.
echo              7  Return Back To The Main Menu
echo.
echo  --------------------------------------------------------------------------------
echo.
SET /P menuk=Please make your decision:
IF %menuk%==1 (goto kmsg)
IF %menuk%==2 (goto lastkmsg)
IF %menuk%==3 (goto dmesg)
IF %menuk%==4 (goto Exkmsg)
IF %menuk%==5 (goto Exlastkmsg)
IF %menuk%==6 (goto Exdmesg)
IF %menuk%==7 (goto restart)@REM If you got here, it wasn't 1, 2, 3, 4, 5, 6, or 7
echo.
echo.
ECHO                 *************************************************
echo                 *    Are you crazy.. choose something exist.    *
ECHO                 *************************************************
echo.
echo.
PAUSE
goto restart2:kmsg
cd "%~dp0/tools"
Start "Reading kmsg log.. (To hold, press Ctrl + C).." suscript 1
goto restart2:lastkmsg
cd "%~dp0/tools"
Start "Reading last_kmsg log.." suscript 2
goto restart2:dmesg
cd "%~dp0/tools"
Start "Reading dmesg log.." suscript 3
goto restart2:Exkmsg
cd "%~dp0/tools"
adb shell "mkdir /sdcard/KERNEL_LOGS" > nul
Start "Exporting Kernel contineous message (kmsg) log.." suscript 4
goto restart2:Exlastkmsg
cd "%~dp0/tools"
adb shell "mkdir /sdcard/KERNEL_LOGS" > nul
Start "Exporting Kernel last message (last_kmsg) log.." suscript 5
goto restart2:Exdmesg
cd "%~dp0/tools"
adb shell "mkdir /sdcard/KERNEL_LOGS" > nul
Start "Exporting Kernel buffer message (dmesg) log.." suscript 6
goto restart2:termexit
cd %~dp0/tools
adb kill-server > nul
adb kill-server > nul
adb kill-server > nul
cd "%~dp0"
echo.
echo.
echo Bye Bye, see ya later :-)
echo.
timeout 3
EXIT:adberror
cls
COLOR 0C
ECHO.
ECHO.
ECHO.
echo  An Error Occured..
ECHO.
echo  ADB Failed Recognizing Your Device...
ECHO.
ECHO.
ECHO.
ECHO.
ECHO                **************************************************
echo                *                                                *
echo                * You Have Violated The Previous Requirements..  *
echo                *                                                *
ECHO                * Make Sure You Fulfilled All Requirements..     *
echo                *                                                *
ECHO                **************************************************
echo.
ECHO.
ECHO.
echo.
echo  Deactivating ADB Shell.. Please Wait..
cd %~dp0/tools
adb kill-server > nul
adb kill-server > nul
adb kill-server > nul
cd "%~dp0"
echo.
ECHO.
ECHO.
echo.
echo  Quitting Now...
ECHO.
ECHO.
ECHO                **************************************************
ECHO                *        Come again once you are ready...        *
ECHO                **************************************************
ECHO.
ECHO.
ECHO.
timeout 10
EXIT

3-2,设置快捷方式(不是必须的)

这一步只是为了方便,你完全可以点上一级目录中的 .bat 文件。

因为Log要出力到这里来,所以我弄了一个快捷方式到这里,这样我用的时候直接打开这个文件夹,就可以直接看到Log了,省了文件夹的切换。

3-3,获取Log

好了,准备工作都做好了,开始获取Android手机的Log吧。

1),双击打开bat文件

这一步只是显示欢迎信息而已,没有其他用途。

直接按下Enter按钮

说明为了获取Android手机的Log,所需的前提。

咱们直接按下Enter按钮继续

这里是说要启动ADB Shell,其实就是咱们平常所知的那些命令,在这里都自动干了。

2),选择获取Log的选项

 如果你按照我上面所说都设定好了,那你应该能来到下面的画面。

这里有很多选项,我平常用的是 1 - Export Normal All level logcat to txt file。

你可以研究研究其他选项。

直接按下 1

这样工具就开始从Android手机抓取Log了。

然后你就可以去操作手机,操作手机所产生的Log就都会记录下来,出力到PC上。

3),确认获取的Log

获取Log之后,直接按下Enter按钮,或者直接点 x 关掉该窗口。

Log大概就是下面这样的。

以上就是通过Logcat Manager获取Android手机的过程。

希望能给大家一些帮助,谢谢阅读!

工具你在网上自己找找应该也能找到,

我也上传到CSDN上面了,欢迎大家下载(3个积分)。

实在没有积分的朋友,请在本贴留言,我个别给你发。

https://download.csdn.net/download/shi_ly/90312915

更多内容请参照东京老树根博客主页

东京老树根-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7405.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苍穹外卖-day10

苍穹外卖-day10 Spring Task Spring Task 是Spring框架提供的任务调度工具&#xff0c;可以按照约定的时间自动执行某个代码逻辑。 cron表达式 cron表达式其实就是一个字符串&#xff0c;通过cron表达式可以定义任务触发的时间 **构成规则&#xff1a;**分为6或7个域&…

一文详解Filter类源码和应用

背景 在日常开发中&#xff0c;经常会有需要统一对请求做一些处理&#xff0c;常见的比如记录日志、权限安全控制、响应处理等。此时&#xff0c;ServletApi中的Filter类&#xff0c;就可以很方便的实现上述效果。 Filter类 是一个接口&#xff0c;属于 Java Servlet API 的一部…

(2)STM32 USB设备开发-USB虚拟串口

例程&#xff1a;STM32USBdevice: 基于STM32的USB设备例子程序 - Gitee.com 本篇为USB虚拟串口教程&#xff0c;没有知识&#xff0c;全是实操&#xff0c;按照步骤就能获得一个STM32的USB虚拟串口。本例子是在野火F103MINI开发板上验证的&#xff0c;如果代码中出现一些外设的…

K8S中的数据存储之基本存储

基本存储类型 EmptyDir 描述&#xff1a;当 Pod 被调度到节点上时&#xff0c;Kubernetes 会为 Pod 创建一个空目录&#xff0c;所有在该 Pod 中的容器都可以访问这个目录。特点&#xff1a; 生命周期与 Pod 绑定&#xff0c;Pod 删除时&#xff0c;数据也会丢失。适用于临时…

谈谈RTMP|RTSP播放器视频view垂直|水平反转和旋转设计

技术背景 我们在做RTMP|RTSP播放器的时候&#xff0c;有这样的技术诉求&#xff0c;有的摄像头出来的数据是有角度偏差的&#xff0c;比如“装倒了”&#xff0c;或者&#xff0c;图像存在上下或者左右反转&#xff0c;这时候&#xff0c;就需要播放器能做响应的处理&#xff…

自然语言处理——从原理、经典模型到应用

1. 概述 自然语言处理&#xff08;Natural Language Processing&#xff0c;NLP&#xff09;是一门借助计算机技术研究人类语言的科学&#xff0c;是人工智能领域的一个分支&#xff0c;旨在让计算机理解、生成和处理人类语言。其核心任务是将非结构化的自然语言转换为机器可以…

【MFC】C++所有控件随窗口大小全自动等比例缩放源码(控件内字体、列宽等未调整) 20250124

MFC界面全自动等比例缩放 1.在初始化里 枚举每个控件记录所有控件rect 2.在OnSize里&#xff0c;根据当前窗口和之前保存的窗口的宽高求比例x、y 3.枚举每个控件&#xff0c;根据比例x、y调整控件上下左右,并移动到新rect struct ControlInfo {CWnd* pControl;CRect original…

SkyWalking介绍

一款开源的系统性能监控工具(APM) 背景 在解决提报的IT性能问题时&#xff0c;由于缺乏系统性能监控运维的工具&#xff0c;导致问题排查非常困难&#xff0c;尤其是偶发的问题&#xff0c;无法进行问题复现还原&#xff0c;需要一套能实时监控线上系统性能的工具平台。 SkyWal…

Pyecharts之图表组合与布局优化

在数据可视化中&#xff0c;我们经常需要将多个图表组合在一起&#xff0c;以展示不同维度的数据或者进行对比分析。同时&#xff0c;合理的布局能够提升图表的可读性和用户体验。Pyecharts 提供了强大的组件和方法&#xff0c;让我们可以轻松实现图表的组合和布局优化。本篇将…

物业管理平台系统提升社区智能化服务效率与管理水平

内容概要 在现代社会中&#xff0c;物业管理平台系统的出现&#xff0c;为社区的智能化服务带来了革命性的变化。这种系统不仅仅是提升了工作效率&#xff0c;更是通过一系列智能化功能&#xff0c;根本性改变了物业管理的方式。比如&#xff0c;在广告位管理方面&#xff0c;…

Kafka 深入服务端 — 时间轮

Kafka中存在大量的延迟操作&#xff0c;比如延时生产、延时拉取和延时删除等。Kafka基于时间轮概念自定义实现了一个用于延时功能的定时器&#xff0c;来完成这些延迟操作。 1 时间轮 Kafka没有使用基于JDK自带的Timer或DelayQueue来实现延迟功能&#xff0c;因为它们的插入和…

Baklib如何推动企业知识管理的创新与转型探讨

内容概要 在当今快速发展的数字化时代&#xff0c;企业需要不断适应变化&#xff0c;以保持竞争优势。Baklib作为一款企业知识管理中台&#xff0c;扮演着推动数字化转型的重要角色。它通过提供一个集成的知识管理平台&#xff0c;帮助企业高效管理和共享内部及外部的知识资源…

日志收集Day005

1.filebeat的input类型之filestream实战案例: 在7.16版本中已经弃用log类型,之后需要使用filebeat,与log不同&#xff0c;filebeat的message无需设置就是顶级字段 1.1简单使用&#xff1a; filebeat.inputs: - type: filestreamenabled: truepaths:- /tmp/myfilestream01.lo…

【Rust自学】15.3. Deref trait Pt.2:隐式解引用转化与可变性

喜欢的话别忘了点赞、收藏加关注哦&#xff08;加关注即可阅读全文&#xff09;&#xff0c;对接下来的教程有兴趣的可以关注专栏。谢谢喵&#xff01;(&#xff65;ω&#xff65;) 15.3.1. 函数和方法的隐式解引用转化(Deref Coercion) 隐式解引用转化(Deref Coercion)是为…

【技巧】优雅的使用 pnpm+Monorepo 单体仓库构建一个高效、灵活的多项目架构

单体仓库&#xff08;Monorepo&#xff09;搭建指南&#xff1a;从零开始 单体仓库&#xff08;Monorepo&#xff09;是一种将多个相关项目集中管理在一个仓库中的开发模式。它可以帮助开发者共享代码、统一配置&#xff0c;并简化依赖管理。本文将通过实际代码示例&#xff0…

【MySQL — 数据库增删改查操作】深入解析MySQL的create insert 操作

数据库CRUD操作 1 CRUD简介 CURD是对数据库中的记录进行基本的增删改查操作: 2. Create 新增 语法 INSERT [INTO] table_name[(column [&#xff0c;column] ...)] VALUES(value_list)[&#xff0c;(value_list)] ... # value 后面的列的个数和类型&#xff0c;要和表结构匹配…

VSCode下EIDE插件开发STM32

VSCode下STM32开发环境搭建 本STM32教程使用vscode的EIDE插件的开发环境&#xff0c;完全免费&#xff0c;有管理代码文件的界面&#xff0c;不需要其它IDE。 视频教程见本人的 VSCodeEIDE开发STM32 安装EIDE插件 Embedded IDE 嵌入式IDE 这个插件可以帮我们管理代码文件&am…

electron打包客户端在rk3588上支持h265硬解

目录 前言 chromium是如何支持h265硬解 electron/chromium第一次编译 electron/chromium第二次编译 前言 我们的客户端程序是用electron打包的前端程序&#xff0c;其在rk3588主机上的linux环境运行。之前使用客户端查看h264编码的视频直播是没有问题的&#xff0c;但视频源…

An OpenGL Toolbox

3.An OpenGL Toolbox 声明&#xff1a;该代码来自&#xff1a;Computer Graphics Through OpenGL From Theory to Experiments&#xff0c;仅用作学习参考 3.1 Vertex Arrays and Their Drawing Commands 顶点数组及其绘制命令&#xff1a;将几何数据存储在一个位置&#xff0c…

Three城市引擎地图插件Geo-3d

一、简介 基于Three开发&#xff0c;为Three 3D场景提供GIS能力和城市底座渲染能力。支持Web墨卡托、WGS84、GCJ02等坐标系&#xff0c;支持坐标转换&#xff0c;支持影像、地形、geojson建筑、道路&#xff0c;植被等渲染。支持自定义主题。 二、效果 三、代码 //插件初始化…