news 2026/5/13 6:47:39

uniapp中获取APP应用签名信息

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
uniapp中获取APP应用签名信息
/** * 获取应用签名MD5 * @returns {Promise<unknown>} */functiongetAppSignatureMD5(){returnnewPromise((resolve)=>{// 1. 环境检查if(typeofplus==="undefined"||uni.getSystemInfoSync().platform!=="android"){resolve(null);return;}try{// 2. 获取 ContextconstMainActivity=plus.android.runtimeMainActivity();if(!MainActivity){console.error("MainActivity is null");resolve(null);return;}// 优先使用 Application ContextletContext=plus.android.invoke(MainActivity,"getApplicationContext");if(!Context){Context=MainActivity;}// 3. 获取 PackageManagerconstpackageManager=plus.android.invoke(Context,"getPackageManager");if(!packageManager){console.error("PackageManager is null");resolve(null);return;}// 4. 获取 PackageInfoconstpackageName=plus.android.invoke(Context,"getPackageName");constPackageManager=plus.android.importClass("android.content.pm.PackageManager");constflags=PackageManager.GET_SIGNATURES;// 64constpackageInfo=plus.android.invoke(packageManager,"getPackageInfo",packageName,flags);if(!packageInfo){console.error("PackageInfo is null");resolve(null);return;}// 5. 获取签名数组letsignatures=packageInfo.signatures;if(!signatures||signatures.length===0){signatures=plus.android.getAttribute(packageInfo,"signatures");}if(!signatures||signatures.length===0){console.error("Signatures is empty");resolve(null);return;}// 6. 计算 MD5constsignature=signatures[0];constMessageDigest=plus.android.importClass("java.security.MessageDigest");constmd5=MessageDigest.getInstance("MD5");constbytes=plus.android.invoke(signature,"toByteArray");plus.android.invoke(md5,"update",bytes);constdigest=plus.android.invoke(md5,"digest");lethex="";for(leti=0;i<digest.length;i++){constb=digest[i];consth=(b&0xff).toString(16);if(h.length<2){hex+="0";}hex+=h;if(i<digest.length-1){hex+=":";}}resolve(hex.toUpperCase());}catch(e){console.error("Get signature failed:",e);resolve(null);}});}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/13 6:45:09

LeetCode 1665.完成所有任务的最少初始能量:排序(贪心)

【LetMeFly】1665.完成所有任务的最少初始能量&#xff1a;排序(贪心) 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-initial-energy-to-finish-tasks/ 给你一个任务数组 tasks &#xff0c;其中 tasks[i] [actuali, minimumi] &#xff1a; actuali 是完…

作者头像 李华
网站建设 2026/5/13 6:44:25

SoC硬件辅助验证技术解析与应用实践

1. SoC硬件辅助验证&#xff1a;应对复杂芯片设计的关键技术 在移动通信处理器领域&#xff0c;我曾参与过一个典型的多核SoC验证项目。当团队首次尝试在RTL仿真器上启动Android系统时&#xff0c;仿真速度仅为1.Hz——这意味着完成一次系统启动需要超过300天。这个令人绝望的数…

作者头像 李华
网站建设 2026/5/13 6:40:56

AI工作流编排框架:从脚本串联到声明式协同

1. 项目概述&#xff1a;当AI模型需要“交响乐团”指挥最近在开源社区里&#xff0c;我注意到一个挺有意思的项目&#xff0c;叫ruska-ai/orchestra。光看名字&#xff0c;“Orchestra”&#xff08;交响乐团&#xff09;就挺有画面感的。这让我立刻联想到&#xff0c;在当下这…

作者头像 李华
网站建设 2026/5/13 6:36:06

DLP Pico技术与近眼显示系统设计解析

1. DLP Pico技术解析&#xff1a;微镜阵列如何重塑显示未来 在2014年&#xff0c;德州仪器(TI)推出了一项颠覆性的显示技术——基于DLP TRP架构的Pico芯片组。这项技术的核心是一块布满微小铝镜的芯片&#xff0c;每个微镜尺寸仅5.4微米&#xff0c;比人类头发直径的十分之一还…

作者头像 李华
网站建设 2026/5/13 6:33:07

从泰鼎高管离职事件看半导体公司治理与技术战略平衡

1. 事件背景与核心脉络梳理2011年初&#xff0c;半导体行业发生了一起在当时颇具话题性的高层人事地震。主角是当时在数字电视和多媒体处理器领域颇有建树的泰鼎微系统&#xff08;Trident Microsystems, Inc.&#xff09;。事件的核心是&#xff0c;公司的首席执行官&#xff…

作者头像 李华
网站建设 2026/5/13 6:32:12

开会超时被踢?四款视频会议工具性价比实测

上周&#xff0c;小李的创业团队又扩员了。团队一直用的免费视频会议工具有单场时长限制&#xff0c;超时后主持人会被强制退出会议。现在团队扩大到8个人&#xff0c;如果升级到付费版&#xff0c;每人每月的费用接近百元。小李算了一下&#xff1a;一年下来&#xff0c;光会议…

作者头像 李华