Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何在文件打包时用Gradle删除原始XML文件中的注释大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的项目在我的 Android项目的原始资源目录中有XML文件

当我打包在.apk文件中时,我想从这些文件删除评论(<! - ... - >):

原始文件样本:

<?xml version="1.0" encoding="utf-8"?>
    <celebrations xmlns:xsi="http://www.w3.org/2001/XMLscheR_549_11845@a-instance"
              xsi:noNamespacescheR_549_11845@aLOCATIOn="celebrations_scheR_549_11845@a.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/XMLscheR_549_11845@a-instance"
              xsi:noNamespacescheR_549_11845@aLOCATIOn="celebrations_scheR_549_11845@a.xsd">
    <celebration name="celebration 1" type="oneTime" ... />
    <celebration name="celebration 2" type="reccurent" ... />
</celebrations>

我找到了一些有趣的类似解决方案@L_403_2@,但我无法管理它的工作.在我的应用程序build.gradle中添加这些行

processresources {
    filesmatching('**/myxmlfiletobeStrippedfromcomments.xml') {
        filter {
            String line -> line.replaceAll('<!--.*-->','')
        }
    }
}

会产生以下错误

Error:(86,0) Gradle DSL method not found: 'processresources()'

对于从java代码打开和解析XML文件,我使用以下方法

InputStream de@L_618_16@n = context.getresources().openRawresource(resId);
...
try {
    XmlPullParser parser = Xml.newPullParser();
    parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES,falsE);
    parser.seTinput(de@L_618_16@n,null);
    parser.nextTag();
    return parseCelebrations(parser);
} finally {
    de@L_618_16@n.close();
}

解决方法

认的xml的评论将不会打包成apk,你可以反编译来测试它.

大佬总结

以上是大佬教程为你收集整理的android – 如何在文件打包时用Gradle删除原始XML文件中的注释全部内容,希望文章能够帮你解决android – 如何在文件打包时用Gradle删除原始XML文件中的注释所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。