Android库资源文件夹不会被复制

Mac*_*rse 16 android android-library

我正在创建一个Android库,它有一个assets带图像的文件夹.当我在另一个项目中使用它时,资产不会被复制.

其他人有这个问题吗?

tha*_*sma 34

基于Gradle 的新Android Build System支持库项目中的资产文件夹!

使用基于ANT的构建,仍然不可能:

图书馆项目不能包括原始资产.(见文档)

但你可以

  • 以防万一还不清楚(因为这对我来说不是):您不需要在Android Studio中使用Gradle进行任何特殊配置:似乎自动包含了库的资产。 (2认同)

小智 11

可以通过小修复将资源放入生成的库jar:
将" custom_rules.xml "放入库项目主目录(build.xml附近):

<?xml version="1.0" encoding="UTF-8"?>
<project name="custom_rules">
    <target name="-post-compile" if="${project.is.library}">
    <echo>Post Compile: add assests from ${asset.absolute.dir} to ${out.library.jar.file}</echo>
    <jar destfile="${out.library.jar.file}" update="true">
        <zipfileset dir="${asset.absolute.dir}" prefix="assets" excludes="**/*.java ${android.package.excludes}"/>
    </jar>
</target>
Run Code Online (Sandbox Code Playgroud)

这会将您的库资源打包到您生成的库jar中.因此,这些资产将包含在您的应用程序的结果.apk中.

在OSX上查看Android SDK Tools Revision 21.1.0