美文网首页
android studio 打jar包后混淆代码

android studio 打jar包后混淆代码

作者: 赤小豆芽 | 来源:发表于2018-09-03 10:45 被阅读0次

    在build.gradle里:

    1.makeJar下方

    task ProguardJar(type: proguard.gradle.ProGuardTask,dependsOn:"build") {

    // 未混淆的jar路径

        injars'build/libs/SegOcrSdk.jar'

        // 混淆后的jar输出路径

        outjars'build/libs/out/SegOcrSdk.jar'

        // 混淆协议

        configuration'proguard-rules.pro'

    }

    2.proguard-rules.pro写混淆配置

    #表示混淆时不使用大小写混合类名

    -dontusemixedcaseclassnames

    #表示不跳过library中的非public的类

    -dontskipnonpubliclibraryclasses

    #打印混淆的详细信息

    -verbose

    -dontoptimize

    ##表示不进行校验,这个校验作用 在java平台上的

    -dontpreverify

    -keepattributes *Annotation*

    -keep public class com.google.vending.licensing.ILicensingService

    -keep public class com.android.vending.licensing.ILicensingService

    # For native methods, see http://proguard.sourceforge.net/manual/examples.html#native

    -keepclasseswithmembernames class * {

    native ;

    }

    -keepclassmembers public class * extends android.view.View {

    void set*(***);

    *** get*();

    }

    # We want to keep methods in Activity that could be used in the XML attribute onClick

    -keepclassmembers class * extends android.app.Activity {

    public void *(android.view.View);

    }

    # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations

    -keepclassmembers enum * {

    public static **[] values();

    public static ** valueOf(java.lang.String);

    }

    -keepclassmembers class * implements android.os.Parcelable {

    public static final android.os.Parcelable$Creator CREATOR;

    }

    -keepclassmembers class **.R$* {

    public static ;

    }

    # The support library contains references to newer platform versions.

    # Don't warn about those in case this app is linking against an older

    # platform version.  We know about them, and they are safe.

    -dontwarn android.support.**

    # Understand the @Keep support annotation.

    -keep class android.support.annotation.Keep

    -keep @android.support.annotation.Keep class * {*;}

    -keepclasseswithmembers class * {

    @android.support.annotation.Keep ;

    }

    -keepclasseswithmembers class * {

    @android.support.annotation.Keep ;

    }

    -keepclasseswithmembers class * {

    @android.support.annotation.Keep (...);

    }

    #忽略警告

    -ignorewarnings

    #保证是独立的jar,没有任何项目引用,如果不写就会认为我们所有的代码是无用的,从而把所有的代码压缩掉,导出一个空的jar

    -dontshrink

    #保护泛型

    -keepattributes Signature

    #自己不混淆的类

    -keep class com.ocrsdk.OcrSdk**{*;}

    3.android studio右侧Gradle---app---tasks---other---progruardJar 双击

    运行时,先makeJar,再progruardJar;

    相关文章

      网友评论

          本文标题:android studio 打jar包后混淆代码

          本文链接:https://www.haomeiwen.com/subject/ivlbwftx.html