gpt4 book ai didi

android - smali 生成的 classes.dex 不能在 .apk 中工作

转载 作者:搜寻专家 更新时间:2023-11-01 09:09:09 26 4
gpt4 key购买 nike

我试图从 samli 生成的 classes.dex 生成 .apk。但是我得到了这些错误:

失败 [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE](当我尝试在模拟器上安装 .apk 时)

失败 [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES](当我尝试在手机上安装 .apk 时)。

以下是我完成的步骤:

  1. 从现有的 .apk 中提取 classes.dex
  2. ./baksmali classes.dex
  3. ./smali出
  4. mv out.dex 类.dex
  5. 提取文件夹中的整个 .apk 内容并替换新的 classes.dex
  6. 生成了一个 .zip 文件并将其重命名为 *.apk
  7. 签署应用程序:jarsigner -verbose -keystore my-release-key.keystore MyFieldTest.apk mykey

这是 list 的开头:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:sharedUserId="android.uid.phone"
package="com.htc.fieldtest"
android:versionCode="1"
android:versionName="1.0" >

<application android:label="Field Test">
<activity android:label="@string/app_name"
android:name="FieldTestActivity"
android:process="com.android.phone"
android:launchMode="singleInstance">

我知道该应用程序最初是由 HTC 开发人员签名的,现在由我签名。但是有没有可能解决这个问题?

谢谢!菲利克斯

最佳答案

听起来您可能在新的 apk 文件中有多个签名。在创建新 zip 之前尝试删除 META-INF 目录中的文件。

此外,您的新 apk 现在可能已经压缩了资源。我不确定 android 将如何处理。在 aapt 生成的 apk 文件中,资源(图像、xml 等)压缩,因此可以直接映射到内存中,而无需提取它们。

如果您不修改资源,最好的办法是替换原始 apk 文件中的 classes.dex 文件,而不是创建一个新文件。如果您也尝试修改资源,则应该使用 apktool 来提取/重新打包 apk。

关于android - smali 生成的 classes.dex 不能在 .apk 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9646839/

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