I´m trying to remove the Android´s Log methods using Dexguard, but i´m not able to do this.
This is what I´m doing
build.gradle(:app)
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'dexguard'
android {
compileSdkVersion rootProject.compileSdkVersion
buildToolsVersion rootProject.buildToolsVersion
compileOptions {
sourceCompatibility = rootProject.javaSourceCompatibility
targetCompatibility = rootProject.javaTargetCompatibility
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
viewBinding = true
dataBinding = true
buildConfig = true
}
defaultConfig {
minSdkVersion xx
targetSdkVersion rootProject.targetSdkVersion
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
versionCode VERSION_CODE
versionName COMMON_VERSION_NAME
}
flavorDimensions = ["deploymentType"]
productFlavors {
local {
isDefault = true
dimension "deploymentType"
}
mavenRelease {
dimension "deploymentType"
}
mavenDevelopment {
dimension "deploymentType"
}
}
buildTypes {
stagingStable {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField BOOLEAN, IS_DEBUG, TRUE
buildConfigField BOOLEAN, IS_STAGING_STABLE, TRUE
matchingFallbacks = ['development', 'release']
}
}
packagingOptions {
exclude 'META-INF/*.kotlin_module'
}
}
dependencies {
implementation "com.squareup.retrofit2:retrofit:$retrofitVersion"
implementation "com.squareup.retrofit2:converter-gson:$retrofitVersion"
implementation "com.squareup.okhttp3:logging-interceptor:$okHttpVersion"
}
repositories {
mavenCentral()
mavenLocal()
}
dexguard {
path = '../../dexguard/DexGuard-9.5.5/'
license = 'dexguard/dexguard-license.txt'
configurations {
localStagingStable{
defaultConfiguration 'dexguard-release.pro'
configuration 'dexguard/dexguard-release-sdk.txt'
}
}
}
where in the proguard-rules.pro
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in /home/mateobosco/Android/Sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
# http://developer.android.com/guide/developing/tools/proguard.html
# Add any project specific keep options here:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
# public *;
#}
# Remove Android logging calls (in this case, including errors).
-optimizations code/removal/*
-assumenosideeffects public class android.util.Log
-assumenosideeffects class android.util.Log { *; }
and dexguard-release-sdk.txt
# We'll display some more statistics about the processed code.
-verbose
# Base rules
-include ../../../dexguard/dexguard-rules.pro
# Print a full report
-printconfiguration ../build/fullconfig.pro
# Encrypt the "geopagos" classes
#-encryptclasses com.geopagos.**
#-encryptclasses com.model.geopagos.**
#-encryptclasses com.services.geopagos.**
#-encryptclasses com.utils.geopagos.**
-optimizations code/removal/*
-assumenosideeffects public class android.util.Log
-assumenosideeffects class android.util.Log { *; }
So, i create an apk using “assemble” command, and then install in my phone, but i´m still seeing the logs. What i´m doing wrong?
Thanks in advanced.
2