Android——TV真机调试apk(android:sharedUserId="android.uid.system")

android:sharedUserId作用 前言 Android给每个APK进程分配一个单独的空间,manifest中的userid就是对应一个分配的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者被其他应用程序影响)。 通常,不同的APK会具有不同的userId,因此运行时属于不同的进程中,而不同进程中的资源是不共享的(比如只能访问/data/data/自己包名下面的文件),保障了程序运行的稳定。然后在有些时候,我们自己开发了多个APK并且需要他们之间互相共享资源,那么就需要通过设置shareUserId来实现这一目的。 阅读详情

        当需要调试的apk 的AndroidManifest.xml中有使用  android:sharedUserId="android.uid.system" ,表示此apk和系统拥有相同的uid,可以共享系统资源,可以加入同一进程中。但是要使用eclipse编译adb安装调试安装 肯定会报错,如下:

Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE
Please check logcat output for more details.
Launch canceled!

 

 

关于android的签名机制,可以参考Android——编译release版签名系统。

因为eclipse生成的apk签名与system不同,android系统规定使用相同uid的必须拥有相同的签名。

        我所使用的方法是写一个脚本,在eclipse生成apk之后给这个apk重签名,然后再launch安装。


      step 1:配置签名环境

       拷贝 源码 /build/target/product/security/下的  platform.pk8 和 platform.x509.pem 到 out/host/linux-x86/framework、

在out/host/linux-x86/framework下执行:


java -jar signapk.jar platform.x509.pem platform.pk8 $sourceapk $apkname

$sourceapk为需要签名的apk路径,$apkname为签名成功之后的apk。


      step 2:调试配置

最好写一个shell脚本,执行上面的操作,在eclipse中做如下设置:

      1):编译直接生成apk


去掉 Skip packaging and dexing until export or launch.....

   2):配置eclipse external tool

          RUN——>External Tools——>External Tools Configurations  


new 一个program 选择写好的 signed 脚本

再在 window——>preferences——>General——>Key  配置快捷键 

F10 作为 clean-bulid   F11作为external tool  F12作为run debug 。

至此 OK~~

 

撰写不易,转载请注明出处http://blog.youkuaiyun.com/jscese/article/details/12184513#comments


Android脏流攻击:ContentProvider文件描述符漏洞原理与防御实战 在Android应用安全领域,跨进程通信(IPC)机制是实现组件间数据交互的核心技术,其中ContentProvider作为标准的数据共享组件,其安全性直接影响应用沙箱的完整性。其原理是通过Binder机制传递文件描述符(FD),使客户端进程能够访问服务端进程的私有文件。然而,当ContentProvider对用户输入的文件路径校验不严时,攻击者可能利用文件描述符的权限借用特性,以写入模式打开目标文件,触发系统级的O_TRUNC操作,导致关键文件被清空或覆盖,这就是所谓的“脏流”(Dirty Stream) 阅读详情

相关推荐

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

问题:INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决:android:sharedUserId="android.uid.system"

关于android:sharedUserId=“android.uid.system“ 的使用

有时候我们需要在自己的应用中使用一些系统相关权限,比如USB权限,如果我们自己的应用所在进程和系统进程为同一个UID,就会默认拥有该权限,不需要用户自己去授予,很多情况下会方便很多。最近在做的项目,有好大一部分都用到这个权限,修改系统时间啊,调用隐藏方法啊,系统关机重启啊,静默安装升级卸载应用等等,刚开始的时候,直接添加权限,运行就报错,无论模拟器还是真机,在logcat中总会得到"Unable ...

宝爷的专栏 4万+

android 添加系统权限 INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

eclipse编译出来的apk,安装时报出INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误。 原因:apk的AndroidManifest.xml中声明了android:sharedUserId="android.uid.system",但没有相应的签名 解决方案: 1. 找到编译目标系统时的签名证书platform.pk8和platform.x509.pem,在android源码目录build\target\product\security下。 没有那两个证书的话,可以直接从本链接下载相关资料. 2. 将签名工具(signapk.jar)、签名证书(platform.pk8和platform.x509.pem)及编译出来的apk文件都放到同一目录 3.执行签名命令: signapk.jar platform.x509.pem platform.pk8 Demo.apk signedDemo.apk 4.将signedDemo.apk安装即可 类似地,在android源码树编译也会存在同样的问题,解决方法类似。 或直接把目标系统的签名证书platform.pk8和platform.x509.pem(根据android.mk文件的LOCAL_CERTIFICATE 定义,也可能是shared.pk8、media.pk8等)覆盖到build\target\product\security也可,这样就不需要再手工签名了。

Android安装apk应用的时候出现INSTALL_FAILED_SHARED_USER_INCOMPATIBLE如何解决

如果安装app时出现INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误,网上普遍的解决方案是去除android:sharedUserId这个属性。但是如果你的目的就是想使用此属性,并且能安装上去,那么请尝试卸载旧的app,然后重新运行程序,这大概率就能正常。

一位热心网友的博客 2万+

数通基础(基本网络通信原理、IP地址如何配置、DHCP、DNS域名系统、路由技术基础、静态路由 、TCP和UDP、vlan虚拟局域网、trunk、三层交换)

我们知道了1、电脑开机,通过dhcp获取ip地址2、电脑输入域名,www.baidu.com电脑把www.baidu.com发到自己的dns服务器3、dns服务器把域名解析成对应的ip地址4、电脑向百度服务器发送一个请求。

qq_53235556的博客 6482

单片机毕业设计-基于STM32单片机的智能镜系统-仿真设计

可通过MQ-2监测当前烟雾浓度可通过温湿度传感器监测当前温湿度可通过光照强度传感器监测光照强度可通过蜂鸣器进行烟雾报警可通过语音识别模块进行反馈播报状态可通过按键设置阈值三个继电器控制灯、加湿、风扇标签:STM32单片机、OLED112864、DHT11、BH1750、继电器、SU-03T、MQ-2、蜂鸣器题目扩展:智能家居安防、智能大棚控制系统、智能环境检测系统项目编号:ZL-32-240604-FZ。

bsdog11的博客 967

Android——TV真机调试apk(android:sharedUserId="android.uid.system")转载

http://blog.csdn.net/jscese/article/details/12184513#comments 转载 当需要调试的apk 的AndroidManifest.xml中有使用 android:sharedUserId="android.uid.system" ,表示此apk和系统拥有相同的uid,可以共享系统资源,可以加入同一进程中。但是要使用...

dianchange8716的博客 313

树莓派与无人机协同实战:基于OpenCV的地标识别优化策略

本文深入探讨了基于树莓派与无人机的协同系统,重点分享了利用OpenCV优化地标识别以实现精准降落的实战策略。内容涵盖从应对复杂光照的图像预处理、鲁棒的轮廓几何过滤,到通过ROS进行稳定通信,以及实现分层控制与状态机设计,旨在提升系统在真实环境中的可靠性与性能。

y2z3a4b5c的博客 1086

添加系统级权限 android:sharedUserId=“android.uid.system“

关于android:sharedUserId=“android.uid.system“ 的使用

okk 1万+

游戏封包抓取实战:雷电模拟器+ProxyDroid+查尔斯3.93+WPE全流程解析

本文详细解析了使用雷电模拟器、ProxyDroid、查尔斯3.93和WPE进行游戏封包抓取的全流程实战。通过环境搭建、代理配置与工具协同,手把手教你抓取HTTP/HTTPS及原始Socket数据,涵盖从流量转向、证书安装到数据分析和常见问题排查,是学习游戏网络协议分析与安全测试的实用指南。

u8v9w0x1y的博客 446

Facebook登录协议逆向实战:从加密参数到完整流程解析(附Python代码)

本文深入解析了Facebook登录协议的逆向工程实战,详细拆解了从关键加密参数(如`lgndim`、`encpass`)定位到完整登录流程的实现。文章提供了Python代码示例,重点阐述了加密逻辑的深度解析、加密函数的本地化实现,并解决了Crypto.js异步调用等常见问题,为研究Web安全和协议逆向的开发者提供了实用参考。

metal的博客 1314

android:sharedUserId

android:sharedUserId 1、前言 Android给每个APK进程分配一个单独的空间,manifest中的userid就是对应一个分配的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者被其他应用程序影响)。 通常,不同的APK会具有不同的userId,因此运行时属于不同的进程中,而不同进程中的资源是不共享的(比如只能访问/data/data/自己包名下面的文件),保障了程序运行的稳定。然后在有些时候,我们自己开发了多个APK并且需要他们之间互相共享资源,那么就需要

hnlgzb的专栏 3733

PCL 基于强度的双边滤波【2026最新版】

基于强度信息的双边滤波代码实现、滤波前后点云未出现变化的原因以及获取带有强度pcd点云的方法。本文由优快云点云侠原创,博客长期更新,本文最近一次更新时间为:2026年5月24日。

点云侠的博客 29万+

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误解决

Android中共享UID可以让多个应用使用通过Process ID可以共享内存空间外,链接:https://www.jianshu.com/p/077a05a81eca。商业转载请联系作者获得授权,非商业转载请注明出处。这是由于使用了sharedUserId后,使用不同的签名造成的。因为设置了shareid 造成安装apk时显示。删除android:sharedUserId。先别急着安装,可以先rebuild;卸载后重新安装apk。作者:small学生。

chuyouyinghe的专栏 6038

PCIE2.0/PCIE3.0/PCIE4.0/PCIE5.0接口的带宽、速率计算

一、PCIE接口速率: 二、PCIE相关概念: 传输速率为每秒传输量GT/s,而不是每秒位数Gbps,因为传输量包括不提供额外吞吐量的开销位; 比如 PCIe 1.x和PCIe 2.x使用8b / 10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。 GT/s —— Giga transation per second (千兆传输/秒),即每一秒内传输的次数。重点在于描述物理层通信协议的速率属性,可以不和链路宽度等关联。 Gbps —— Giga Bits Per Second

技术联盟 1万+

挖矿病毒解决实例(隐藏进程,文章较好)(入侵)

CPU起飞了 最近有朋友在群里反馈,自己服务器的CPU一直处于高占用状态,但用top、ps等命令却一直找不到是哪个进程在占用,怀疑中了挖矿病毒,急的团团转。 根据经验,我赶紧让他看一下当前服务器的网络连接,看看有没有可疑连接,果然发现了有点东西: 上Shodan查一下这IP地址: 反向查找,发现有诸多域名曾经解析到这个IP地址: 这是一个位于德国的IP地址,开放了4444,5555,7777等数个特殊的服务端口: 其中这位朋友服务器上发现的连接到的是7777端口,

墨痕诉清风的博客 1万+

android:sharedUserId=“android.uid.system“ 系统级权限并重新系统签名 记录

1、在自己的app的AndroidManifest.xml内添加 android:sharedUserId="android.uid.system" 2、build -》build apk 生成未签名的apk文件 app-debug.apk 3、找到源码中的platform.pk8和platform.x509.pem两个文件 在Android源码目录中的位置是" androi...

爆笑弟的博客 9679

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

android:sharedUserId="android.uid.system" 的使用

系统权限使用 android:sharedUserId=”android.uid.system” 通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中。那么把程序的UID配成android.uid.system,也就是要让程序运行在系统进程中,这样相关权限就可以获得 项目中是针对于平板电脑的,Android 版本6.0.1 app需要开启相机权...

m0_38094058的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Android系统应用开发

Android系统应用开发 android:sharedUserId=“android.uid.system” 在AndroidMainfest.xml中添加 android:sharedUserId="android.uid.system" 。通过sharedUserId属性,相同User id的apk配置运行在同一进程中,把程序的User id配置成android.uid.system,也就是让程序运行在系统进程中,这样程序就有权限来读写系统配置。 Android push apk to /system

了凡 6798

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android初学习 - android:sharedUserId="android.uid.system" 应用程序获得系统权限

在AndroidManifest.xml设置android:sharedUserId="android.uid.system" 在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm driver:

myKernel 4982

【Android】权限篇

1.一般权限的添加一般情况下,设定apk的权限,可在AndroidManifest.xml中添加例如: 给apk添加system权限… …//允许读写访问”properties”表在checkin数据库中,改值可以修改上传//允许一个程序访问CellID或WiFi热点来获取粗略的位置//允许一个程序访问精良位置(如GPS)//允许应用程序访问额外的位置提供命令//允许程序创建模拟位置提供用于测试//允许程序访问有关GSM网络信息。

北冥有渔的博客 4837

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的问题

eclipse编译出来的apk,安装时报出INSTALL_FAILED_SHARED_USER_INCOMPATIBLE的错误。 原因:apk的AndroidManifest.xml中声明了android:sharedUserId="android.uid.system",但没有相应的签名 解决方案: 1. 找到编译目标系统时的签名证书platform.pk8和platform.x509.p

2万+

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决办法

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解决办法 将自开发的APP升级为系统级APP的办法

woyaoxianzaixiazai的博客 5485

对android:sharedUserId=“android.uid.system“的讨论

使用 使用前提:签名要和系统相同。 使用时机:应用需要system 权限时;内存不足,或优先级低的时候不容易被干掉时。 使用效果:让程序运行在系统进程中,这样就有权限修改系统的值了。 应用不添加android.uid.system时崩溃的场景 1、Sound-Advanced settings-Sound Feedback设置Low时崩溃 崩溃日志:java.lang.Security...

让学习编程变得生动有趣~ 2779

android:sharedUserId让你的程序运行系统方法

在自己平台上开发android应用,不可避免的要遇到一些系统及的方法。 这就要吧你的应用编程系统进程级别的应用了。 步骤1 在清单文件中配置android:sharedUserId="android.uid.system" 步骤2 在build文件中设置签名文件   signingConfigs {         debug {             keyAlias 'andro

zhfleslie的博客 1372

AndroidMenifest.xml中android:sharedUserId="android.uid.system权限问题

在AndroidMenifest.xml中我们可以看到android:sharedUserId="android.uid.system" 但是有了这句后,就无法对sd卡进行读写操作,比如在SD卡中创建一个新文件夹,是创建不成功的。但是如果把android:sharedUserId="android.uid.system"注释掉,就可以在SD卡进行IO操作了。 在Settings中android...

wangxiaohigh 1820
下一篇: Android——MediaPlayer
南丶烟
博客等级 码龄14年 569粉丝 98原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值