Я сделал приложение для Android, которое всегда работало нормально. Внезапно AVG Antivirus сообщил, что мое приложение является вредоносным ПО. Через пару часов, я нашел проблему:Android Proguard имеют некоторые проблемы с 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. Версия AVG Antivirus, которую я имею в своем устройстве для Android, - 5.9.0.1.224656.
«malware», идентифицированный AVG, - это Android/gp oi bccfdd.
Есть ли что-то, что я могу сделать для решения этой проблемы?
удалить строки 'keep class' и' keepclassmembers' из 'proguard-rules.pro' и снова создать – Apurva
@Apurva, я не могу удалить эти строки, потому что они необходимы в моем приложении. –
Удаление этих строк из файла proguard не приведет к удалению этих классов из вашего пакета. '-keep class' используется для ** сохранения перечисленных классов в исходном формате **, поэтому proguard не будет кодировать эти классы при создании пакета. Поэтому безопасно удалять эти строки из файла proguard, он просто кодирует классы в неидентифицируемой форме. – Apurva