Android Studio 设置自定义资源ID public.xml
来源:互联网 发布:简历软件下载 编辑:程序博客网 时间:2024/06/06 19:27
有些项目会使用库给第三方使用,打包的一般用aar即可,有时打包成的仅仅是jar包,且代码里用到资源ID,此时打的jar包的资源ID号是默认分配的;
如果第三方集成时使用的编译资源ID会匹配不上,导致找不到资源的错误,此时需要使用自定义资源ID;
参考网上的思路,测试目前可行的办法:
1、Library端打包在build.gradle配置脚步
afterEvaluate {
for (variant in android.libraryVariants) {
def scope = variant.getVariantData().getScope()
String mergeTaskName = scope.getMergeResourcesTask().name
println "name" + mergeTaskName
def mergeTask = tasks.getByName(mergeTaskName)
mergeTask.doLast {
copy {
int i=0
from(android.sourceSets.main.res.srcDirs) {
include 'values/public.xml'
rename 'public.xml', (i++ == 0? "public.xml": "public_${i}.xml")
}
into(mergeTask.outputDir)
}
}
}
}
2,应用端配置build.gradle的脚步
afterEvaluate {
for (variant in android.applicationVariants) {
def scope = variant.getVariantData().getScope()
String mergeTaskName = scope.getMergeResourcesTask().name
println "name" + mergeTaskName
def mergeTask = tasks.getByName(mergeTaskName)
mergeTask.doLast {
copy {
int i=0
from(android.sourceSets.main.res.srcDirs) {
include 'values/public.xml'
rename 'public.xml', (i++ == 0? "public.xml": "public_${i}.xml")
}
into(mergeTask.outputDir)
}
}
}
}
3,两边都需要配置public.xml和ids.xml,使用7E开头,避免和编译器7F开头的资源ID冲突
public.xml
<public type="drawable" name="drawable_name" id="0x7E020000" />
ids.xml
<public type="id" name="drawable_name" id="0x7E020000" />
- Android Studio 设置自定义资源ID public.xml
- android studio xml 快捷键设置
- Android Studio设置自定义字体
- Android Studio设置自定义注释
- android public.xml 用法
- Android 使用自定义的xml资源
- Android使用自定义的XML资源
- Android自定义View 自定义xml属性设置
- android根据id获取string.xml等静态资源
- Android Studio中xml使用自定义属性
- android中的相关资源设置(XML)
- android gradle plugin 1.3.0 以上使用 public.xml 固定 id
- Android Studio 自定义设置注释模板
- Android Studio 自定义设置注释模板
- Android Studio 自定义设置注释模板
- Android Studio 自定义设置注释模板
- Android Studio 自定义设置注释模板
- Android Studio 设置自定义注释模板
- 【LibUIDK界面库系列文章】使用双窗口制作阴影边框时的激活问题
- 堆内存操作
- 临界知识
- Django学习笔记
- HTML5中行内元素和块级元素以及区别
- Android Studio 设置自定义资源ID public.xml
- python里使用reduce()函数
- HDU2709
- request和session的用法
- 用javamail发送带附件的邮件
- 每日英语阅读(六十三)
- kaggle机器学习竞赛冠军及分享
- session简介
- maven相关使用