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

做网站嘉兴my网站域名

做网站嘉兴,my网站域名,商城网站设计公司排名,电脑网页怎么下载视频android系统包含三类APP: 1、可自由卸载APP安装在 /data/app目录下。 2、系统APP放在 /system/app目录。 3、特权APP放在 /system/priv-app目录。 系统编译后#xff0c;打包前#xff0c; /data分区不起作用#xff0c;因此系统打包前#xff0c;可以先将APP全部拷贝到 /…android系统包含三类APP: 1、可自由卸载APP安装在 /data/app目录下。 2、系统APP放在 /system/app目录。 3、特权APP放在 /system/priv-app目录。 系统编译后打包前 /data分区不起作用因此系统打包前可以先将APP全部拷贝到 /system分区的 /system/usr/app目录下。 1、拷贝APP暂存到 /system/usr/app 目录 在 /build/target/product/base_product.mk中添加如下命令 会将 /apps/apps目录下的所有文件拷贝到 /system/usr/app 将 shell脚本拷贝到 /system/bin目录 # 拷贝APP PRODUCT_COPY_FILES $(call find-copy-subdir-files,*,/data1/rom/android/lineageOS2/apps/apps,/system/usr/app) # 拷贝shell PRODUCT_COPY_FILES $(call find-copy-subdir-files,*,/data1/rom/android/lineageOS2/apps/shell,/system/bin) 2、绕过拷贝 .apk文件时校验 注释 /build/core/Makefile 如下 apk拷贝报错代码 define check-product-copy-files $(if $(filter %.apk, $(1)),$(error \Prebuilt apk found in PRODUCT_COPY_FILES: $(1), use BUILD_PREBUILT instead!)) endef 3、系统启动执行init.rc脚本时拷贝APP到 /data分区 在 init.rc文件中定义如下service , 并在 on boot 事件中 执行 preinstall service preinstall /system/bin/preinstall.shclass mainuser rootgroup rootoneshoton bootxxxxxxxxxx.....start preinstall 4、shell 脚本文件如下  #!/system/bin/shCUSTOMIZED_APK/system/usr/app DATA_APK/data/appecho CUSTOMIZED_APK${CUSTOMIZED_APK} #获取是否已经预安装过标记位 PREINSTALL_RESULTgetprop persist.sys.preinstall.value echo PREINSTALL_RESULT${PREINSTALL_RESULT} apk_files #判断标记位是否为空为空则没有预装过。然后将所有apk均copy到data/app下面。if [ -z ${PREINSTALL_RESULT} ]; thencd ${CUSTOMIZED_APK}apk_files$(ls *.apk )echo apks files ${apk_files}for apkfile in $apk_filesdoecho apkfiles ${apkfile} cp -vf ${CUSTOMIZED_APK}/${apkfile} ${DATA_APK}/${apkfile}echo start copy chmod 777 ${DATA_APK}/${apkfile}done#设置标记位 setprop persist.sys.preinstall.value 1# 拷贝 设备改机文件 cp /system/etc/device.json /data/system/device.json chmod 666 /data/system/device.json # 拷贝adb公钥 cp /system/etc/adb_keys /data/system/adb_keys chown -R shell:shell /data/system/adb_keys chmod 666 /data/system/adb_keyscd ../..fi 5、添加selinux权限 file_contexts文件 system/sepolicy/private/file_contexts 添加下面一行 /system/bin/preinstall.sh u:object_r:preinstall_exec:s0 同目录新建文件 preinstall.te 内容如下 type preinstall, domain; type preinstall_exec, exec_type, file_type;init_daemon_domain(preinstall) #全部默认允许 permissive preinstall; 修改 init.te 允许读取并执行 preinstall: #默认全部允许 allow init preinstall_exec:file {read open getattr execute}; android 11 系统 在 system/sepolicy/prebuilts/api/30.0/private 目录同步修改 TODO 最后一次拉取的android11源码 将 apk拷贝到 /data/app目录后开机没有扫描安装原因待分析 FIXED :  在 PackageManagerService. assertPackageIsValid 方法中 如下代码段 // If were only installing presumed-existing packages, require that the // scanned APK is both already known and at the path previously established // for it. Previously unknown packages we pick up normally, but if we have an // a priori expectation about this packages install presence, enforce it. // With a singular exception for new system packages. When an OTA contains // a new system package, we allow the codepath to change from a system location // to the user-installed location. If we dont allow this change, any newer, // user-installed version of the application will be ignored. if ((scanFlags SCAN_REQUIRE_KNOWN) ! 0) {if (mExpectingBetter.containsKey(pkg.getPackageName())) {logCriticalInfo(Log.WARN,Relax SCAN_REQUIRE_KNOWN requirement for package pkg.getPackageName());} else {PackageSetting known mSettings.getPackageLPr(pkg.getPackageName());if (known ! null) {if (DEBUG_PACKAGE_SCANNING) {Log.d(TAG, Examining pkg.getCodePath() and requiring known paths known.codePathString known.resourcePathString);}if (!pkg.getCodePath().equals(known.codePathString)|| !pkg.getCodePath().equals(known.resourcePathString)) {throw new PackageManagerException(INSTALL_FAILED_PACKAGE_CHANGED,Application package pkg.getPackageName() found at pkg.getCodePath() but expected at known.codePathString ; ignoring.);}} else {// throw new PackageManagerException(INSTALL_FAILED_INVALID_INSTALL_LOCATION,// Application package pkg.getPackageName()// not found; ignoring.);}} } 注释掉  INSTALL_FAILED_INVALID_INSTALL_LOCATION 异常。 同时修改selinux权限: untrusted_app_all 增加 execute 权限 #允许app读取/data/system目录文件 允许app 执行 data/app-libm目录下的可执行文件 allow untrusted_app_all system_data_file:file { open read execute};
http://www.hkea.cn/news/14517481/

相关文章:

  • vr 做的网站会员网站开发
  • 网站建设行业怎么样上海做网站建设的公司
  • 小程序二次开发多少钱论坛seo招聘
  • 购物网站建设需求模板网站管理工作一般包括
  • 销售平台网站建设方案建设外贸网站公司简介
  • 网站服务器怎么搭建怎样提升网站关键词
  • 重庆手机网站建设建设银行信用卡去网站
  • 汕头企业网站推广方法自己买个服务器做代挂网站
  • 为企业做网站要向谁索要资料抚州的电子商务网站建设公司
  • 三网合一网站 东莞装修设计的网站
  • 湖北网址大全yoast seo教程
  • 荣成市信用建设网站免飞网站
  • 网站制作加教程视频网络平台推广具体是干啥
  • asp网站开发技术背景介绍然后制作网页
  • 公司网站模板怎么做wordpress 偷网页
  • sz住房和城乡建设部网站定西模板型网站建设
  • 小程序游戏源码wordpressseo网站设计外包
  • 专业做ea的网站菜鸟教程网站怎么做
  • 建设一个游戏网站需要多少钱世纪佳缘网站开发公司
  • 肯德基网站建设的目标装潢公司网站模板
  • 国外移动网站设计网站彩票投注员做啥的
  • c 网站开发视频教程 高清wordpress搜索代码
  • 廊坊文安建设局网站学ui设计网站
  • 北京企业官网建站招聘网站预算怎么做
  • 景区微网站建设费用免费空间 上传网站
  • 广东网站建设制作网站开发职业资格证书
  • 网站制作工具推荐iis网站发布默认首页
  • 百度公司网站推广怎么做周口市住房和城市建设局网站
  • 至少保存十个以上域名网站做网站怎么连数据库
  • 中山网站建设公司排名wordpress文章段落背景颜色代码