如何混淆UiAutomator代码?

时间:2015-11-25 18:53:34

标签: android obfuscation android-proguard android-uiautomator

我有一个在UiAutomator中开发的测试项目,它不是专门用于一个应用程序,即我甚至没有任何与我的测试相关的应用程序。我的主文件夹只有AndroidManifest,我的代码都在测试文件夹中。

我想让我的代码可用但是有效。所以我想获得一个代码混淆的APK代码。

我的build.gradle包含

buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            testProguardFiles('proguard-rules.pro')
        }
        debug{
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            testProguardFiles('proguard-rules.pro')
            debuggable true
        }
    }

和proguard-rules.pro文件是:

-keep public class * extends android.test.InstrumentationTestCase
-keep public class * extends junit.framework.TestCase
-keep public class * implements junit.framework.TestCase
-keep class android.support.** { *;}
-keep interface android.support.** { *;}
-keep public class junit.framework.** { *;}
-keep class android.uiautomator.** { *;}

-keep class com.impactToolTester.utility.Constants
-keepclasseswithmembernames class *{
    public <init>(java.lang.Class,android.support.test.internal.util.AndroidRunnerParams);
}

-dontnote android.support.test.internal.runner.listener.CoverageListener
-dontwarn android.test.**

-dontnote org.junit.**
-dontnote junit.runner.*
-dontnote junit.framework.*
-dontnote android.net.**
-dontnote org.apache.http.**

当我运行gradlew assembleAndroidTest时,在build / outputs / apk中创建了app-debug-androidTest-unaligned.apk。

然而,当我反编译apk时,我意识到它根本没有被混淆。我知道proguard文件已被读取,因为我在第一次运行时遇到了几个错误。

我在调试和发布中都有minifyEnabled,因为我不确定哪个是用assembleAndroidTest运行的。

一般来说,当涉及到节目和混淆时,我是一个真正的新手,所以任何帮助都会非常感激。

0 个答案:

没有答案