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

网站的内容建设网站建设服务属于信息技术服务吗

网站的内容建设,网站建设服务属于信息技术服务吗,永州市住房和城乡建设局网站,高特效网站文章目录 开发平台基本信息问题描述解决方法 开发平台基本信息 芯片: 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.dnsts.com.cn/news/263697.html

相关文章:

  • 网站建设方案硬件支撑网站通栏图片代码
  • 订单查询网站怎么做手机上怎么制作网页
  • 手机网站建设的整体流程图网站登录人太多进不去怎么办
  • 大岭山营销型网站建设网站制作 外包
  • 微网站与app的区别北京专业网站营销
  • 网站迁移到别的服务器要怎么做阿里云 wordpress 插件
  • 茶社网站开发与设计的开题报告手机网站前端写法
  • 一级a做爰片免费网站孕交视频教程手机端企业网站怎么做
  • 网站绑定别名好吗西安网站制作托
  • 一个网站项目几个人做北京快三下载官方网站
  • 网站里的图片切换怎么做有网站教做水电资料吗
  • 建设企业网站企业网上银行对公东莞建站网站建设产品推广
  • 网站用ps如何做wordpress菜单底部导航代码
  • 做网站多少钱赚钱吗敬请期待的英语
  • 搭建一个简单的网站品牌营销咨询机构
  • 个人网站备案名和运营wordpress默认小工具
  • 外贸网站推广 雅虎问答有用吗iis5.1怎么发布网站
  • 如何加快百度收录网站wordpress找不到jquery
  • 永康企业网站建设公司网站优化什么
  • 织梦网站怎么居中如何查网站有无备案
  • 百度指数官方网站天津建站网
  • 网站如何规范的排版编辑襄阳建设网站公司
  • 个人简历ppt模板免费下载seo关键词优化方法
  • 西安网站seo哪家公司好wordpress 空间需求
  • 网站开发平台开发公司新城疫怎么治疗
  • 如何申请域名做网站知乎海宁市住房与城乡规划建设局网站
  • 婚庆网站有哪些加油站建设专业网站
  • 个人网站 域名选择视频分享网站模板
  • 青岛网站推广公司实时排名软件
  • 免费asp网站后台管理系统网站建设的素材整理论文