From 51e106c9adf5ceeb1c22fc5472bb957059747008 Mon Sep 17 00:00:00 2001 From: "lilong.129" Date: Thu, 26 Jun 2025 13:48:42 +0800 Subject: [PATCH] fix: improve JSON parsing in ForegroundInfo by cleaning packageInfo --- internal/version/VERSION | 2 +- uixt/android_driver_adb.go | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/internal/version/VERSION b/internal/version/VERSION index 69848f97..b1a1c81f 100644 --- a/internal/version/VERSION +++ b/internal/version/VERSION @@ -1 +1 @@ -v5.0.0-beta-2506261341 +v5.0.0-beta-2506261348 diff --git a/uixt/android_driver_adb.go b/uixt/android_driver_adb.go index 55b6a7a1..0a4c3ab5 100644 --- a/uixt/android_driver_adb.go +++ b/uixt/android_driver_adb.go @@ -731,11 +731,21 @@ func (ad *ADBDriver) ForegroundInfo() (app types.AppInfo, err error) { if err != nil { return app, err } - err = json.Unmarshal([]byte(strings.TrimSpace(packageInfo)), &app) + + // Clean packageInfo: remove null bytes that cause JSON parsing issues + packageInfo = strings.ReplaceAll(packageInfo, "\x00", "") + + // Check for empty response after cleaning + if strings.TrimSpace(packageInfo) == "" { + return app, errors.New("empty response from evalite process") + } + + err = json.Unmarshal([]byte(packageInfo), &app) if err != nil { log.Error().Err(err).Str("packageInfo", packageInfo).Msg("get foreground app failed") + return app, err } - return + return app, nil } func (ad *ADBDriver) SetIme(imeRegx string) error {