From ccc65afcbc10cd347ace5e9cb8ea7f46e79c8c75 Mon Sep 17 00:00:00 2001 From: zhaogd Date: Wed, 26 Aug 2026 15:51:33 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20StandardCharsets.UTF=5F8=20=E6=9B=BF?= =?UTF-8?q?=E6=8D=A2=E4=B8=BA=20Charset.forName("UTF-8")?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Android 4.2(API 17)不支持 java.nio.charset.StandardCharsets(API 19+), 5 个文件统一改用兼容 API 1 的 String 重载: - DeviceIdentityProvider / HMacShaUtils / Md5Utils: Charset.forName - UrlParamBuilder: URLEncoder.encode(str, "UTF-8") - ContentDetailUtils: 删除未使用的 import --- .../jiecheng/device/DeviceIdentityProvider.java | 6 +++--- .../com/pukka/jiecheng/utils/UrlParamBuilder.java | 12 +++++++++--- .../jiecheng/video/utils/ContentDetailUtils.java | 1 - day.code-workspace | 11 +++++++++++ .../java/com/pukka/libcore/cipher/HMacShaUtils.java | 6 +++--- .../main/java/com/pukka/libcore/cipher/Md5Utils.java | 4 ++-- 6 files changed, 28 insertions(+), 12 deletions(-) create mode 100644 day.code-workspace diff --git a/app/src/main/java/com/pukka/jiecheng/device/DeviceIdentityProvider.java b/app/src/main/java/com/pukka/jiecheng/device/DeviceIdentityProvider.java index b066e4d..08bd38b 100755 --- a/app/src/main/java/com/pukka/jiecheng/device/DeviceIdentityProvider.java +++ b/app/src/main/java/com/pukka/jiecheng/device/DeviceIdentityProvider.java @@ -9,7 +9,7 @@ import com.pukka.jiecheng.config.AppConfiguration; import com.pukka.libcore.boxShared.BoxSharedParamsUtils; import com.pukka.libcore.utils.LogUtils; -import java.nio.charset.StandardCharsets; +import java.nio.charset.Charset; import java.security.MessageDigest; import java.util.Locale; @@ -87,7 +87,7 @@ public class DeviceIdentityProvider { return ""; } MessageDigest digest = MessageDigest.getInstance("MD5"); - byte[] hashBytes = digest.digest(source.getBytes(StandardCharsets.UTF_8)); + byte[] hashBytes = digest.digest(source.getBytes(Charset.forName("UTF-8"))); int usedBytes = Math.min(MD5_TRUNCATED_BYTES, hashBytes.length); if (usedBytes <= 0) { return ""; @@ -112,7 +112,7 @@ public class DeviceIdentityProvider { return ""; } MessageDigest digest = MessageDigest.getInstance("SHA-256"); - byte[] hashBytes = digest.digest(source.getBytes(StandardCharsets.UTF_8)); + byte[] hashBytes = digest.digest(source.getBytes(Charset.forName("UTF-8"))); StringBuilder hexBuilder = new StringBuilder(hashBytes.length * 2); for (byte hashByte : hashBytes) { hexBuilder.append(String.format(Locale.ROOT, "%02X", hashByte)); diff --git a/app/src/main/java/com/pukka/jiecheng/utils/UrlParamBuilder.java b/app/src/main/java/com/pukka/jiecheng/utils/UrlParamBuilder.java index 107a7b4..a967af1 100755 --- a/app/src/main/java/com/pukka/jiecheng/utils/UrlParamBuilder.java +++ b/app/src/main/java/com/pukka/jiecheng/utils/UrlParamBuilder.java @@ -1,8 +1,8 @@ package com.pukka.jiecheng.utils; +import java.io.UnsupportedEncodingException; import java.util.Map; import java.net.URLEncoder; -import java.nio.charset.StandardCharsets; public class UrlParamBuilder { @@ -60,9 +60,15 @@ public class UrlParamBuilder { urlBuilder.append("&"); } - urlBuilder.append(URLEncoder.encode(entry.getKey(), StandardCharsets.UTF_8)) + try { + urlBuilder.append(URLEncoder.encode(entry.getKey(), "UTF-8")) .append("=") - .append(URLEncoder.encode(entry.getValue(), StandardCharsets.UTF_8)); + .append(URLEncoder.encode(entry.getValue(), "UTF-8")); + } catch (UnsupportedEncodingException e) { + urlBuilder.append(entry.getKey()) + .append("=") + .append(entry.getValue()); + } } } diff --git a/app/src/main/java/com/pukka/jiecheng/video/utils/ContentDetailUtils.java b/app/src/main/java/com/pukka/jiecheng/video/utils/ContentDetailUtils.java index dfb0a5a..3d9aaff 100755 --- a/app/src/main/java/com/pukka/jiecheng/video/utils/ContentDetailUtils.java +++ b/app/src/main/java/com/pukka/jiecheng/video/utils/ContentDetailUtils.java @@ -20,7 +20,6 @@ import com.pukka.jiecheng.R; import com.pukka.libcore.fresco.PkSimpleDraweeView; import com.pukka.libcore.utils.LogUtils; -import java.nio.charset.StandardCharsets; import java.util.Locale; import java.util.regex.Matcher; import java.util.regex.Pattern; diff --git a/day.code-workspace b/day.code-workspace new file mode 100644 index 0000000..f1d6e8a --- /dev/null +++ b/day.code-workspace @@ -0,0 +1,11 @@ +{ + "folders": [ + { + "path": "../../Desktop/tv.huashi.jetsenx.jetsenfilx.jsttvday/day" + }, + { + "path": "." + } + ], + "settings": {} +} \ No newline at end of file diff --git a/libcore/src/main/java/com/pukka/libcore/cipher/HMacShaUtils.java b/libcore/src/main/java/com/pukka/libcore/cipher/HMacShaUtils.java index 0c895a0..f91ff9f 100755 --- a/libcore/src/main/java/com/pukka/libcore/cipher/HMacShaUtils.java +++ b/libcore/src/main/java/com/pukka/libcore/cipher/HMacShaUtils.java @@ -1,6 +1,6 @@ package com.pukka.libcore.cipher; -import java.nio.charset.StandardCharsets; +import java.nio.charset.Charset; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; @@ -29,7 +29,7 @@ public class HMacShaUtils { SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA256_ALGORITHM); Mac mac = Mac.getInstance(HMAC_SHA256_ALGORITHM); mac.init(signingKey); - return mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); + return mac.doFinal(data.getBytes(Charset.forName("UTF-8"))); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } catch (InvalidKeyException e) { @@ -51,7 +51,7 @@ public class HMacShaUtils { SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM); Mac mac = Mac.getInstance(HMAC_SHA1_ALGORITHM); mac.init(signingKey); - return mac.doFinal(data.getBytes(StandardCharsets.UTF_8)); + return mac.doFinal(data.getBytes(Charset.forName("UTF-8"))); } catch (Exception ex) { ex.printStackTrace(); } diff --git a/libcore/src/main/java/com/pukka/libcore/cipher/Md5Utils.java b/libcore/src/main/java/com/pukka/libcore/cipher/Md5Utils.java index 6e612b6..9370e89 100755 --- a/libcore/src/main/java/com/pukka/libcore/cipher/Md5Utils.java +++ b/libcore/src/main/java/com/pukka/libcore/cipher/Md5Utils.java @@ -2,7 +2,7 @@ package com.pukka.libcore.cipher; import com.pukka.libcore.utils.ByteConversionUtils; -import java.nio.charset.StandardCharsets; +import java.nio.charset.Charset; import java.security.MessageDigest; /** @@ -61,7 +61,7 @@ public class Md5Utils { public static String encrypt(String message) { String md5str = ""; try { - md5str = encrypt(message.getBytes(StandardCharsets.UTF_8)); + md5str = encrypt(message.getBytes(Charset.forName("UTF-8"))); } catch (Exception e) { e.printStackTrace(); }