当我打包在.apk文件中时,我想从这些文件中删除评论(<! - ... - >):
原始文件样本:
<?xml version="1.0" enCoding="utf-8"?> <celebrations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nonamespaceSchemaLocation="celebrations_schema.xsd"> <!-- This is a very important comment useful during development --> <celebration name="celebration 1" type="oneTime" ... /> <!-- This is another very important comment useful during development --> <celebration name="celebration 2" type="reccurent" ... /></celebrations>
预期过滤文件:
<?xml version="1.0" enCoding="utf-8"?><celebrations xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:nonamespaceSchemaLocation="celebrations_schema.xsd"> <celebration name="celebration 1" type="oneTime" ... /> <celebration name="celebration 2" type="reccurent" ... /></celebrations>
我找到了一些有趣的类似解决方案here,但我无法管理它的工作.在我的应用程序build.gradle中添加这些行
processResources { filesMatching('**/myxmlfiletobestrippedfromcomments.xml') { filter { String line -> line.replaceAll('<!--.*-->','') } }}
会产生以下错误:
Error:(86,0) Gradle DSL method not found: 'processResources()'
对于从java代码打开和解析XML文件,我使用以下方法:
inputStream deFinition = context.getResources().openRawResource(resID);...try { XmlPullParser parser = Xml.newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_nameSPACES,false); parser.setinput(deFinition,null); parser.nextTag(); return parseCelebrations(parser);} finally { deFinition.close();}解决方法 默认的xml的评论将不会打包成apk,你可以反编译来测试它. 总结
以上是内存溢出为你收集整理的android – 如何在文件打包时用Gradle删除原始XML文件中的注释全部内容,希望文章能够帮你解决android – 如何在文件打包时用Gradle删除原始XML文件中的注释所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)