【问题标题】:RES folder not linked into .apk -> "probl.em parsing the package"RES 文件夹未链接到 .apk ->“解析包时出现问题”
【发布时间】:2014-03-06 21:09:27
【问题描述】:

由于某些奇怪的原因,“res”文件夹在导出应用程序时从未链接到我的应用程序 - 结果,当我尝试安装这些 apk 时,我得到众所周知的“解析包时出现问题”错误信息。

在导出过程中,不显示错误消息...:/

编辑: 请注意,我不是指经常描述的实际设备操作系统版本不匹配的问题! 问题是 - 出于某种原因,我没有t 知道 - 导出的 APK(实际上是我们所知道的 .zip 文件)不像往常一样包含“res”子文件夹,只有 META-INF 子文件夹。 Proguard 被禁用以排除可能的原因。所以由于某种原因,应用程序的资源没有链接到目标.apk,包真的是无效的。有趣的是,要在本地虚拟设备上运行的“调试”版本编译得很好,并且包含“res”子文件夹。 相同的源代码在另一台计算机上创建了正确的 .apk 包。所以问题似乎出在 ADT/Eclipse 设置中?

【问题讨论】:

    标签: android android-resources


    【解决方案1】:

    只有当您有 SDK 版本不匹配错误时才会出现解析问题错误。假设如果清单中的 minSDK 版本是 14,并且我正在尝试在具有 sdk 版本 8 的 2.2 设备上安装应用程序,那么它会给我解析错误。请提供您的清单文件。

    【讨论】:

    • 但您必须确保您的代码与较低的 Android 版本兼容。即:如果您使用的是 Fragments 并且没有包含支持库,那么在旧设备上会发生什么?
    • 感谢您的回复,但这不是我的问题。我已经编辑了上面的问题描述以提供更多详细信息。很抱歉造成混乱!
    【解决方案2】:

    有一些方法可以解决这个问题,

    案例 1:

    • 转到设备设置(图标)菜单
    • 安全性
    • 设备管理
    • 来源不明
    • 勾选未知来源
    • 现在尝试安装 .apk 文件。希望对您有所帮助

    案例 2:

    如果设备 Android OS 版本与 .apk 文件不兼容 就像 .apk 文件是在最低 SDK 版本 15 和 SDK 目标 17(ICS) 中构建的,并且您拥有设备版本 2.3(姜饼)或任何其他版本。

    我们可以随时通过 Manifest.xml 更改构建版本

    <uses-sdk android:minSdkVersion="8" /> // or as per your requirements 
    

    另一件事是您的设备与您的应用不兼容。就像您使用了一些额外的库或一些不适用于在您的设备上运行的硬件资源,因此在这种情况下您可能会遇到此问题。

    当您在市场上更新您的 APK 时,将首先检查设备兼容性然后允许安装,否则您的应用将不会在您的设备上可见。

    【讨论】:

    • 但您必须确保您的代码与较低的 Android 版本兼容。即:如果您使用的是片段并且没有包含支持库,那么在旧设备上会发生什么?
    • @ArtooDetoo 是的,我有提及 min sdk 版本,
    • 这还不够。如果您的 JAVA 代码需要更高的 API 级别,而您只有一个较低的 API 设备,那么它将无法工作。 minSdkVersion 不添加更高的软件层。
    • 感谢您的回复,但这不是我的问题。我已经编辑了上面的问题描述以提供更多详细信息。很抱歉造成混乱!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 2013-12-09
    • 1970-01-01
    相关资源
    最近更新 更多