Java:如何使用自定义Ant build.xml将ProGuard集成到Jar项目中

Java:如何使用自定义Ant build.xml将ProGuard集成到Jar项目中,第1张

Java:如何使用自定义Ant build.xml将ProGuard集成到Jar项目

我发现了几种集成方式,但这是最简单的方式。

<?xml version="1.0" ?><project name="Samples" default="dist" basedir=".">    <!-- generate JAR START -->    <description>Samples Library</description>    <!-- Setting global properties for this build -->    <property name="src" location="src" />    <property name="bin" location="bin" />    <target name="dist">        <jar destfile="Samples.jar" basedir="bin/"> <!-- Use ** to include the directory recursively --> <include name="com/samples/**" />        </jar>    </target>    <!-- generate JAR END -->    <!-- The local.properties file is created and updated by the 'android'         tool.         It contains the path to the SDK. It should *NOT* be checked into         Version Control Systems. -->    <property file="local.properties" />    <!-- The build.properties file can be created by you and is never touched         by the 'android' tool. This is the place to change some of the         default property values used by the Ant rules.         Here are some properties you may want to change/update:         source.dir  The name of the source directory. Default is 'src'.         out.dir  The name of the output directory. Default is 'bin'.         Properties related to the SDK location or the project target should         be updated using the 'android' tool with the 'update' action.         This file is an integral part of the build system for your         application and should be checked into Version Control Systems.         -->    <property file="build.properties" />    <!-- The default.properties file is created and updated by the 'android'         tool, as well as ADT.         This file is an integral part of the build system for your         application and should be checked into Version Control Systems. -->    <property file="default.properties" />    <!-- Add Proguard Tasks -->    <property name="proguard.jar" location="proguard/lib/proguard.jar" />    <taskdef resource="proguard/ant/task.properties"         classpath="${proguard.jar}" />    <proguard configuration="proguard.cfg"/></project>

这是 proguard.cfg

-injars       Samples.jar-outjars      Samples-out.jar-libraryjars  libs/android.jar-printmapping out.map-renamesourcefileattribute SourceFile-keepattributes Exceptions,InnerClasses,Signature,Deprecated,     SourceFile,LineNumberTable,*Annotation*,EnclosingMethod-keep public class * {    public protected *;}-keepclassmembernames class * {    java.lang.Class class$(java.lang.String);    java.lang.Class class$(java.lang.String, boolean);}-keepclasseswithmembernames class * {    native <methods>;}-keepclassmembers enum * {    public static **[] values();    public static ** valueOf(java.lang.String);}-keepclassmembers class * implements java.io.Serializable {    static final long serialVersionUID;    private static final java.io.ObjectStreamField[] serialPersistentFields;    private void writeObject(java.io.ObjectOutputStream);    private void readObject(java.io.ObjectInputStream);    java.lang.Object writeReplace();    java.lang.Object readResolve();}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5506748.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存