我有一个 JAR 库,其中包含几个不同/src
包中的一些非源代码文件(在这种情况下为 JSON 文件)当我将该 JAR 添加为对我的一个 Android 项目的依赖项并构建 apk 文件时,这些 JSON 文件不在apk 或 classes.dex(我跑了dex2jar
,发现文件丢失了)
我怎么知道dex
在输出中也包含这些 json 文件?
AFAIK,dex 文件仅用于保存 .class 文件(和字符串)。这是 dex 文件格式的(旧)描述。(我在谷歌的网站上找不到)http://retrodev.com/android/dexformat.html
当 google 在编译时解析你的依赖 jar 时,它只关注 .class 文件,因为这就是依赖的用途——你想在你的代码中使用的类,这些类没有在你的代码中定义。我不确定它是否会注意你在那些罐子里可能有的任何其他东西。
您要问的问题不是如何告诉 dex 包含 json 文件(它不能),而是如何将这些 json 文件放入您的 apk。不幸的是,如果它们存储在一个罐子里,我不知道有什么办法可以做到这一点,除非在 ant 中设置一些东西来手动解压罐子并自己移动文件。编译时 jar 依赖项并非旨在简单地将文件复制到项目包中。