AndroidDex是一个JAR文件,其中包含额外的非.java文件

AndroidDex是一个JAR文件,其中包含额外的非.java文件,android,build,jar,dex,Android,Build,Jar,Dex,我有一个JAR库,它在两个不同的/src包(本例中为JSON文件)中包含一些非源代码文件 当我在一个Android项目上添加JAR作为依赖项并构建apk文件时,这些JSON文件不在apk或classes.dex中(我运行了dex2jar,发现文件丢失了) 如何告诉dex在输出中也包含这些json文件?AFAIK,dex文件只设计用于保存.class文件(和字符串)。下面是dex文件格式的(旧)描述。(我在谷歌的网站上找不到) 当google在编译时解析依赖项JAR时,它只关注.class文件,因

我有一个JAR库,它在两个不同的
/src
包(本例中为JSON文件)中包含一些非源代码文件 当我在一个Android项目上添加JAR作为依赖项并构建apk文件时,这些JSON文件不在apk或classes.dex中(我运行了
dex2jar
,发现文件丢失了)


如何告诉
dex
在输出中也包含这些json文件?

AFAIK,dex文件只设计用于保存.class文件(和字符串)。下面是dex文件格式的(旧)描述。(我在谷歌的网站上找不到)

当google在编译时解析依赖项JAR时,它只关注.class文件,因为这是依赖项的所在—您希望在代码中使用但在代码中未定义的类。我不确定它是否会注意到那些罐子里还有什么东西


您想问的问题不是如何告诉dex包含json文件(它不能),而是如何将这些json文件放入apk中。不幸的是,如果它们存储在一个jar中,我不知道有什么方法可以做到这一点,除了在ant中设置一些东西来手动解压缩jar并自己移动文件之外。编译时jar依赖项并不是为了简单地将文件复制到项目包中而设计的

为什么这个“答案”被接受?它没有提供任何解决方案。有时,如果一个人没有好的答案,最好不要写非答案solution@francogrex:嗯,上面提到的问题没有解决方案,因为DEX格式不允许包含JSON文件。在最后一段中,我确实提供了一种可能的方法来做到这一点,尽管我承认这不是一个详细的解释——它超出了最初问题的范围。