gradle脚本来绕过这个限制 public.xml

public.xml用来告诉aapt保持固定的资源ID

res/values/pulibc.xml

<resources>

    <public id = "0x7f050011" name = "a_in" type = "anim"/>

<resources/>

android gradle plugin 从1.3.0开始忽略了public.xml ,不过可以通过gradle脚本来绕过这个限制。

afterEvaluate {

for(variantinandroid.applicationVariants) {

defscope = variant.getVariantData().getScope()

String mergeTaskName = scope.getMergeResourcesTask().name

defmergeTask =tasks.getByName(mergeTaskName)

mergeTask.doLast {

copy {

inti=0

from(android.sourceSets.main.res.srcDirs) {

include'values/public.xml'

rename'public.xml', (i++ ==0?"public.xml":"public_${i}.xml")

}

into(mergeTask.outputDir)

}

}

}

##END

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,990评论 25 709
  • Correctness AdapterViewChildren Summary: AdapterViews can...
    MarcusMa阅读 12,872评论 0 6
  • 原文链接 前言 网上关于Gradle的教程很多,但很多都是以“面”切入— 通过大量讲解其用法及其API分类来阐述。...
    adison阅读 7,706评论 7 67
  • 1.介绍 如果你正在查阅build.gradle文件的所有可选项,请点击这里进行查阅:DSL参考 1.1新构建系统...
    Chuckiefan阅读 14,173评论 8 72
  • 我记得小时候看过一部动画片,虽然已经不记得自己那个时候多大,但是,动画片里的一些情景至今仍然很清晰:有个小孩有个魔...
    丁火火阅读 3,280评论 3 11

友情链接更多精彩内容