当前位置: 首页 > news >正文

有什么交易网站源码wordpress主题 手机app

有什么交易网站源码,wordpress主题 手机app,斐讯n1 WordPress,网页翻译快捷键文章目录 开发平台基本信息问题描述解决方法 开发平台基本信息 芯片: MT8766 版本: Android 12 kernel: msm-4.19 问题描述 在项目开发的时候#xff0c;经常有一些客户#xff0c;要求系统安装应用的时候需要进行验签#xff1b;也就是系统默认不允许任何应用安装#… 文章目录 开发平台基本信息问题描述解决方法 开发平台基本信息 芯片: MT8766 版本: Android 12 kernel: msm-4.19 问题描述 在项目开发的时候经常有一些客户要求系统安装应用的时候需要进行验签也就是系统默认不允许任何应用安装应用安装的时候会读取系统目录下存放的公钥然后拿着公钥去解析需要安装的应用只有匹配上签名的应用才能正常安装。 解决方法 应用验签的算法各种各样也比较隐私这里就不做展示了这里仅提供应用安装拦截的方法可以在安装的地方读取设定的白名单只有白名单内的应用才允许安装或者读取设定的黑名单除了黑名单内的应用禁止安装其他的应用正常安装。具体怎么使用就看具体需求。 --- a/frameworks/base/core/api/system-current.txtb/frameworks/base/core/api/system-current.txt-8892,6 8892,7 package android.permission {method public int checkDeviceIdentifierAccess(Nullable String, Nullable String, Nullable String, int, int);method NonNull RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Setjava.lang.String getAutoRevokeExemptionGrantedPackages();method NonNull RequiresPermission(android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY) public java.util.Setjava.lang.String getAutoRevokeExemptionRequestedPackages();method public android.content.Context getPermissionContext();method IntRange(from0) RequiresPermission(anyOf{android.Manifest.permission.ADJUST_RUNTIME_PERMISSIONS_POLICY, android.Manifest.permission.UPGRADE_RUNTIME_PERMISSIONS}) public int getRuntimePermissionsVersion();method NonNull public java.util.Listandroid.permission.PermissionManager.SplitPermissionInfo getSplitPermissions();--- a/frameworks/base/core/java/android/content/pm/parsing/ParsingPackageUtils.javab/frameworks/base/core/java/android/content/pm/parsing/ParsingPackageUtils.java-132,6 132,17 import java.util.Objects;import java.util.Set;import java.util.StringTokenizer;import android.os.SystemProperties; import android.provider.Settings; import android.content.Context; import android.util.Log;-275,7 288,7 public class ParsingPackageUtils {return new ParsingPackageImpl(packageName, baseApkPath, path,manifestArray);} - });},mContext);try {result parser.parsePackage(input, file, parseFlags);if (result.isError()) {-309,16 322,19 public class ParsingPackageUtils {NonNullprivate ListPermissionManager.SplitPermissionInfo mSplitPermissionInfos;private Callback mCallback;private static Context mContext;public ParsingPackageUtils(boolean onlyCoreApps, String[] separateProcesses,DisplayMetrics displayMetrics,NonNull ListPermissionManager.SplitPermissionInfo splitPermissions, - NonNull Callback callback) {NonNull Callback callback,NonNull Context context) {mOnlyCoreApps onlyCoreApps;mSeparateProcesses separateProcesses;mDisplayMetrics displayMetrics;mSplitPermissionInfos splitPermissions;mCallback callback;mContext context;} -3043,6 3059,11 public class ParsingPackageUtils {NonNull SigningDetails existingSigningDetails, int targetSdk) {int minSignatureScheme ApkSignatureVerifier.getMinimumSignatureSchemeVersionForTargetSdk(targetSdk); boolean isAllow false; if (isStaticSharedLibrary) {// must use v2 signing schememinSignatureScheme SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V2;-3056,7 3077,71 public class ParsingPackageUtils {verified ApkSignatureVerifier.unsafeGetCertsWithoutVerification(baseCodePath, SigningDetails.SignatureSchemeVersion.JAR);} else { - verified ApkSignatureVerifier.verify(baseCodePath, minSignatureScheme);String whiteListValue null;String[] whiteListArray null;if(mContext ! null){if(mContext.getContentResolver()!null){whiteListValue Settings.System.getString(mContext.getContentResolver(), Settings.System.KEY_CERT_WHITE_LIST_ACTION);}if (whiteListValue ! null){int count 0;String packageName null;PackageManager pm mContext.getPackageManager();PackageInfo info pm.getPackageArchiveInfo(baseCodePath, PackageManager.GET_ACTIVITIES);if(info!null){ApplicationInfo appInfo info.applicationInfo;packageName appInfo.packageName; //得到安装包名称Log.d(TAG, packageName : packageName);whiteListArray whiteListValue.split(;);for(count0; count whiteListArray.length; count){if(packageName.equals(whiteListArray[count])){isAllow true;break;}else{isAllow false;}}}}else{Log.d(TAG, whiteList is null);}}if (isAllow){verified ApkSignatureVerifier.verify(baseCodePath, minSignatureScheme);}else {throw new PackageParserException(INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES,baseCodePath has mismatched certificates);}}} catch (PackageParserException e) {return input.error(PackageManager.INSTALL_PARSE_FAILED_NO_CERTIFICATES,--- a/frameworks/base/core/java/android/permission/PermissionManager.javab/frameworks/base/core/java/android/permission/PermissionManager.java-161,6 161,10 public final class PermissionManager {mLegacyPermissionManager context.getSystemService(LegacyPermissionManager.class);} public Context getPermissionContext(){return mContext;}--- a/frameworks/base/services/core/java/com/android/server/pm/parsing/PackageParser2.javab/frameworks/base/services/core/java/com/android/server/pm/parsing/PackageParser2.java-129,7 129,7 public class PackageParser2 implements AutoCloseable {mCacher cacheDir null ? null : new PackageCacher(cacheDir);parsingUtils new ParsingPackageUtils(onlyCoreApps, separateProcesses, displayMetrics, - splitPermissions, callback);splitPermissions, callback,permissionManager.getPermissionContext());ParseInput.Callback enforcementCallback (changeId, packageName, targetSdkVersion) - {ApplicationInfo appInfo mSharedAppInfo.get(); 主要就是在应用安装的那个类里面拿不到上下文所以只能通过构造类的时候从上一层拿到上下文之后再传进来。拿到上下文之后就可以获取Setting数据库读出黑白名单列表再跟当前安装的包名做对比判断当前应用是否安装。
http://www.hkea.cn/news/14585485/

相关文章:

  • 深圳营销型网站定制合肥app建设公司
  • 网站建设中页面设计国内开源代码网站
  • 一起装修网官方网站哈尔滨建设工程招投标网
  • 网站改版设计要多久做外贸网站用哪些小语种
  • 找别人网站开发没给我源代码开发一个区块链app多少钱
  • 软件开发培训计划唐山网站建设优化
  • 官网建站系统个人永久免费自助建站
  • wordpress 切换主题长沙优化网站多少钱
  • 一级域名的网站制作网站报错403
  • 学校网站建设步骤过程wordpress怎么进登录
  • 漫画做视频在线观看网站新手搭建网站教程视频
  • 网站开发方案 ppt正在播网球比赛直播
  • 苏州做网站最好公司优化公司治理结构
  • 免费建立一个个人网站茂名建设局网站
  • 网站建设创业计划书模板范文简述网络营销的方法
  • ftp里找到的index文件查看网站建设中郑州做网站比较专业的机构
  • 沈阳网站建设专家峰峰信息港邯郸信息港
  • 天津网站建站公司工程建设项目招标
  • 做印刷的网站信息系统管理工程师
  • 自适应企业网站模板东莞互联网
  • 网站诸多北京医疗机构网站前置审批需要的材料有哪些
  • 只做动漫的网站织梦中英文网站模板
  • 东莞东城做网站公司网站降权表现
  • 网站搭建需要什么潍坊 优化型网站建设
  • 如何预览做好的网站网站集群建设实施方案
  • 做h5网站要多少钱企业网站开发一薇
  • 江苏省建设厅网站建造师强制注销js网站评论框
  • 银州手机网站建设百度网站建设要多少钱
  • 郑州市网站建设怎么样两个人做类似的梦 网站
  • 济南网站建设公司排名网站建设计划书 模板下载