【问题标题】:How can I reuse code from the android sdk for XML Parsing如何重用来自 android sdk 的代码进行 XML 解析
【发布时间】:2014-09-03 18:17:46
【问题描述】:

我想解析一个包含数字的枚举值的 xml 文件。 来自 android 的 KxmlParser 似乎对此有问题。我查看了代码,它只包含字母和其他一些标记,但没有数字。

所以我复制了 KxmlParser 实现并更改了该部分,一切正常。但是为了解决引用问题,我在项目中添加了一个 libcore-jar。现在我得到了编译错误,因为我不应该使用这个库来创建核心库。

所以这是我的问题:为我的应用程序更改特定于 android 的代码并解决对 libcore 的引用的最佳方法是什么?

【问题讨论】:

标签: java android android-xmlpullparser


【解决方案1】:

这并不理想,但如果你需要做一些疯狂的事情(我也做过)并且你正在使用 maven,你可以做这样的事情来遮蔽包:

<plugin>
    <groupId>org.sonatype.plugins</groupId>
    <artifactId>jarjar-maven-plugin</artifactId>
    <version>1.8</version>
    <executions>
        <execution>
            <phase>process-classes</phase>
            <goals>
                <goal>jarjar</goal>
            </goals>
            <configuration>
                <overwrite>true</overwrite>
                <includes>
                    <include>com.fasterxml:aalto-xml</include>
                    <include>commons-codec:commons-codec</include>
                    <include>javax.xml.stream:stax-api</include>
                    <include>org.codehaus.woodstox:stax2-api</include>
                    <include>com.cookies:app</include>
                </includes>
                <rules>
                    <!-- We want to used STAX but Android doesn't generally like us including javax packages -->
                    <rule>
                        <pattern>javax.xml.stream.**</pattern>
                        <result>com.cookies.internal.javax.xml.stream.@1</result>
                    </rule>
                    <!-- Android packages commons-codec < 1.4 and we want to make use of the Base64OutputStream to *decode* -->
                    <rule>
                        <pattern>org.apache.commons.codec.**</pattern>
                        <result>com.cookies.internal.org.apache.commons.codec.@1</result>
                    </rule>
                </rules>
            </configuration>
        </execution>
    </executions>
</plugin>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-05
    相关资源
    最近更新 更多