gpt4 book ai didi

android - 如何重新安装 android 联系人应用程序以替换原来的应用程序进行调试?

转载 作者:行者123 更新时间:2023-11-30 04:06:28 26 4
gpt4 key购买 nike

我在android 2.3的基础上修改了联系人应用程序代码,编译成Contacts.apk,然后我把它推到system/app/,但是联系人应用程序在启动器中消失了,然后我重新安装它,我得到了INSTALL_FAILED_SHARED_USER_INCOMPATIBLE ,如何调试?

最佳答案

Andoid 为您安装的包创建“共享用户”。有时,这些共享用户的管理会变得一团糟,您会:

INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

共享用户管理保存在/data/system/packages.xml中:

如何解决?你需要一个 root 手机和 adb:

adb shell su -c "chmod 666 /data/system/packages.xml"

adb pull /data/system/packages.xml

现在备份文件,然后编辑文件并从文件中删除共享用户:

<shared-user name="com.your.target.app" userId="10000">
<sigs count="1">
<cert index="4" />
</sigs>
<perms>
<item name="android.permission.READ_PHONE_STATE" />
<item name="android.permission.DISABLE_KEYGUARD" />
<item name="android.permission.INTERNET" />
<item name="android.permission.WRITE_EXTERNAL_STORAGE" />
<item name="android.permission.ACCESS_FINE_LOCATION" />
<item name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<item name="android.permission.ACCESS_COARSE_LOCATION" />
<item name="android.permission.READ_CONTACTS" />
<item name="android.permission.WRITE_CONTACTS" />
<item name="android.permission.ACCESS_NETWORK_STATE" />
<item name="android.permission.WAKE_LOCK" />
<item name="android.permission.MODIFY_AUDIO_SETTINGS" />
</perms>
</shared-user>

然后将修改后的文件复制回来:

adb push packages.xml /data/system/packages.xml

adb shell rm /data/dalvik-cache/*

adb shell su -c reboot

编辑
另一件事是,如果它具有共享用户 ID,则需要使用与其他已安装应用程序相同的证书对 apk 进行签名。但通常无法从手机制造商处获得该证书。

在这种情况下,您可以尝试打开 list 文件并找到:

android:sharedUserId="some_string"

并用不同的东西改变它。重建 apk,清除 packages.xml,重新启动并再次安装。

关于android - 如何重新安装 android 联系人应用程序以替换原来的应用程序进行调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11563770/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com