【问题标题】:Compiling android system apps with make用make编译android系统应用
【发布时间】:2014-10-08 06:38:03
【问题描述】:

我正在尝试使用

编译 android 系统包应用程序

制作

但编译后的 APK 缺少 classes.dex 文件。

我已经正确设置了initializeddownloaded android 构建环境。 我使用 aosp_arm-user 作为 lunch 构建目标。

我正在使用命令编译系统应用程序

make -j16 Mms

apk 在

中生成

/out/target/product/generic/system/priv-app/Mms.apk

关于使用

安装生成的 apk

adb 安装 Mms.apk

安装失败并出现以下错误

失败 [安装失败的 DEXPOT]

Logcat 显示如下错误

DexOptZ:zip 存档 '/data/app/com.android.mms-1.apk' 不包含 classes.dex

任何解决问题的提示将不胜感激。

【问题讨论】:

  • 当您遇到错误时,通常最好在没有-j N 开关的情况下重新构建。这样您就可以看到最后一条错误消息。
  • 试过没有 j 开关,没有帮助。
  • 没有 j 更好,只是在发生错误时,您会在最后看到最后一条错误消息(而不是在几 K 文本的中间)。

标签: android build makefile apk dex


【解决方案1】:

用户构建是预先 dexopt 的,这意味着 dexopt 作为构建过程的一部分在 apk 上运行,并在 .apk 旁边生成一个 .odex 文件,而不是 apk 内的 classes.dex。

使用 eng 或 userdebug 构建来防止这种情况自动发生。例如

lunch aosp_arm-userdebug

可能还有一个环境变量可以用来控制行为。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 2012-12-30
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    相关资源
    最近更新 更多