【发布时间】:2015-02-09 10:59:06
【问题描述】:
我正在开发基于 Android AOSP 4.4.2 的产品,该产品在自定义硬件上运行。我有一个单独的分区 /opt ,我的 apk 存储在 /opt/harsh/app/ 中。我还有一个符号链接/vendor,它指向/opt/harsh(这是设计结构所必需的)。
我面临的问题是在/data/dalvik-cache 中为/opt/harsh/app/*.apk 和/vendor/app/*.apk 创建了多个.dex 文件,它们是相同的文件,但是这两组.dex 文件具有不同的用户组。因此,我的应用程序无法正常运行。如果我更改为不创建/opt 分区而只创建/vendor 分区而不是符号链接并将apk 放入其中,一切正常。
请帮忙...
【问题讨论】:
-
它不是创建重复的 DEX 文件,而是为每个 APK 创建一个 DEX 文件。问题是您有多个 APK。你这样做是为了解决什么问题?
-
是的,我有多个 APK,但理想情况下它不应该扫描 /opt/harsh 目录。我们有在 Android 2.3 上运行的旧设备,它只扫描 /system 和 /vendor 目录。我们正在移植 Android 4.4 并面临这个问题。由于此多个 APK 的问题是某些应用程序因抛出 Unable to instantiate ComponentInfo / Class not found 异常而崩溃。
-
@fadden :这里还值得注意的是,如果我不创建 /vendor 符号链接,那么即使 APK 存在,它也不会为 /opt/harsh/app 目录创建 DEX。但是,如果我创建符号链接,则会为 /vendor/app 和 /opt/harsh/app 都创建 DEX !!
标签: android android-source dalvik