【问题标题】:Android Proguard have some trouble with AVG AntivirusAndroid Proguard 在使用 AVG Antivirus 时遇到一些问题
【发布时间】:2016-11-02 05:49:25
【问题描述】:

我制作了一个一直运行良好的安卓应用。突然,AVG Antivirus 报告我的应用程序是恶意软件。几个小时后,我发现了问题:

在 build.gradle 中,如果我使用下面的配置生成签名的 APK,AVG 报告(APK)为恶意软件:

buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

但如果我评论最后一行,则没有发现威胁:

buildTypes {
    release {
        shrinkResources true
        minifyEnabled true
        //proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

我的 proguard-rules.pro 没有什么特别的:

-keepattributes Signature
-keepattributes *Annotation*
-keepattributes EnclosingMethod
-keep class io.codetail.animation.arcanimator.** { *; }
-keep class com.example.viewholders.** {
  *;
}
-keep class com.android.vending.billing.**
-keep class cn.pedant.SweetAlert.Rotate3dAnimation {
    public <init>(...);
}
-keepclassmembers class com.example.models.** {
  *;
}

我正在使用 Android Studio 2.2.2,我的项目使用 Firebase。我的 android 设备中的 AVG Antivirus 版本是 5.9.0.1.224656。

AVG 识别的“恶意软件”是 Android/gp oi bccfdd。

有什么办法可以解决这个问题吗?

【问题讨论】:

  • proguard-rules.pro 中删除keep classkeepclassmembers 行并重新构建
  • @Apurva,我无法删除这些行,因为我的应用程序需要它们。
  • 从 proguard 文件中删除这些行不会从您的包中删除这些类。 -keep class 用于以原始格式保留列出的类,因此 proguard 在构建包时不会对这些类进行编码。所以从你的 proguard 文件中删除这些行是安全的,它只会以无法识别的形式对类进行编码。
  • 是的,我知道,我的意思是为了避免 Firebase 数据库、Android 计费和我使用的库、SweetAlert 和另外一个库出现错误,这些行是必需的。无论如何,我尝试了你的建议,但没有用。

标签: android proguard antivirus


【解决方案1】:

终于找到了解决办法。只是为了改变这一行:

proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'

有了这个:

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

根据Android Studio User Guide

"提示:要进一步压缩代码,请尝试位于同一位置的 proguard-android-optimize.txt 文件。它包含相同的 ProGuard 规则,但具有其他优化在字节码级别(在方法内部和跨方法)执行分析,以进一步减小 APK 大小并帮助它更快地运行。”

不幸的是,我意识到,这可能会导致防病毒软件错误地检测到恶意软件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多