位于res/raw文件夹下的jar文件

4
我需要将第三方的jar文件作为原始资源放置在apk的res/raw目录下。但是使用Android Studio(我正在使用1.3.1版本),它似乎会在最终的apk中删除该文件。这可能是因为它的扩展名是“jar”。
我不能重命名它,也不想将其包含到dex类中。我的应用程序需要以原始资源的形式访问jar运行时。
有什么建议(也许可以修改gradle任务)来实现这一点吗?

1
为什么不把文件放在资源文件夹里? - Dekra
2
lib文件夹用于放置第三方jar包。 - Rustam
1个回答

1
根据官方的Android文档,你应该将.jar文件放在/libs文件夹下。请参考官方文档

raw/

用于任意原始资源文件。此处保存资源文件与保存在assets/目录中本质相同。唯一的区别是你获取这些文件的方式。这些文件由aapt处理,并且必须使用R类中的资源标识符从应用程序中引用。例如,这是媒体文件(如MP3或Ogg文件)的好地方。

libs/

包含私有库。存储在主应用程序模块中。

.jar文件放入/libs文件夹后,可以通过gradle.build文件轻松引用它,
例如,我已经把acra-4.6.2.jar文件放在/libs文件夹中。

enter image description here

并在gradle.build文件中添加了如下引用:

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/acra-4.6.2.jar')
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接