gpt4 book ai didi

android - 如何制作难以逆向工程的安全签名APK?

转载 作者:行者123 更新时间:2023-12-03 04:51:34 27 4
gpt4 key购买 nike

我在我的项目中使用multidex enabled。当我使用 minifyEnabled true 时,出现此错误

FAILURE: Build failed with an exception.
  • 出了什么问题:
    任务':app:transformClassesAndResourcesWithProguardForRelease'的执行失败。

    Job failed, see logs for details


  • 这是我的gradle文件:
            apply plugin: 'com.android.application'

    android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
    applicationId "com.app.example"
    minSdkVersion 15
    targetSdkVersion 25
    versionCode 9
    versionName "1.8"
    multiDexEnabled true


    }
    buildTypes {
    release {
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
    }
    dexOptions {
    preDexLibraries = false
    }
    productFlavors {
    }

    lintOptions {
    checkReleaseBuilds false
    }
    }


    repositories {

    maven {
    url 'https://dl.bintray.com/ayz4sci/maven/'
    }

    }

    dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:design:25.1.1'
    compile 'com.android.support:appcompat-v7:25.1.1'
    compile 'com.android.support:multidex:1.0.1'


    }

    UPDATE (After seeing logs as suggested by kevin)


  • 我添加此行dontwarn
    -dontwarn com.squareup.picasso.**
    -dontwarn com.vungle.**
    -dontwarn twitter4j.**

  • 和它的工作,但我正在使用d-max / spots-dialog,并且在签名apk后未显示

    也可以使用-keep class解决。

    最佳答案

    如果使用minify,则默认情况下会启用代码混淆。

    它还会删除未使用的方法。我从Google支持库中获取了20k多种方法,当我使用minify时,它的使用时间减少到了大约5k左右。因此,您必须为应用程序修改proguard-rules,以告诉代码混淆器不要删除您的类。

    例如 :

    -keep class com.app.example.** {*;}
    -dontwarn com.app.example.**

    # Ensure annotations are kept for runtime use.
    -keepattributes *Annotation*
    # Don't remove any GreenRobot classes
    -keepnames class org.greenrobot.** {*;}
    # Don't remove any methods that have the @Subscribe annotation
    -keepclassmembers class ** {
    @de.greenrobot.event.Subscribe <methods>;
    }

    您可以通过阅读错误日志找到所需的类,它通常会在“需要类x但未找到”行中说些什么

    关于android - 如何制作难以逆向工程的安全签名APK?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42688516/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com