当我设置minifyenabled false
时,apk运行正常,但是当我在gradle文件中以释放模式设置minify enabled true
时,会显示各种错误和警告,并且签名的apk不正确。
这是问题
警告:库类android.test.AndroidTestRunner扩展或实现程序类junit.runner.BaseTestRunner 警告:库类android.test.AndroidTestCase扩展或实现程序类junit.framework.TestCase 警告:库类android.test.InstrumentationTestCase扩展或实现程序类junit.framework.TestCase 警告:库类android.test.InstrumentationTestSuite扩展或实现程序类junit.framework.TestSuite 警告:库类android.test.suitebuilder.TestSuiteBuilder $ FailedToCreateTests扩展或实现程序类junit.framework.TestCase 警告:org.junit.internal.runners.statements.FailOnTimeout:找不到引用的类java.lang.management.ManagementFactory 警告:org.junit.internal.runners.statements.FailOnTimeout:找不到引用的类java.lang.management.ThreadMXBean 警告:org.junit.internal.runners.statements.FailOnTimeout:找不到引用的类java.lang.management.ManagementFactory 警告:org.junit.internal.runners.statements.FailOnTimeout:找不到引用的类java.lang.management.ThreadMXBean 警告:org.junit.rules.DisableOnDebug:找不到引用的类java.lang.management.ManagementFactory 警告:org.junit.rules.DisableOnDebug:找不到引用的类java.lang.management.RuntimeMXBean 警告:org.junit.rules.DisableOnDebug:找不到引用的类java.lang.management.ManagementFactory 警告:org.junit.rules.DisableOnDebug:找不到引用的类java.lang.management.RuntimeMXBean 警告:有10个未解析的类或接口引用。 您可能需要添加缺少的库jar或更新其版本。 如果您的代码工作正常而没有丢失的类,则可以禁止 '-dontwarn'选项的警告。 (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) 警告:根据程序类,有5个库类实例。 你必须避免这种依赖,因为程序类会 处理,而库类将保持不变。 (http://proguard.sourceforge.net/manual/troubleshooting.html#dependency) 警告:处理任务java.io.IOException时发生异常:请先纠正上述警告。 :app:transformClassesAndResourcesWithProguardForRelease FAILED 错误:任务':app:transformClassesAndResourcesWithProguardForRelease'的执行失败。 java.io.IOException:请先纠正上面的警告。 信息:建筑失败 信息:总时间:5.962秒 信息:1错误
我的朋友是:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.0"
defaultConfig {
multiDexEnabled true
applicationId "com.newsreader.sitl"
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
manifestPlaceholders = [manifestApplicationId : "${applicationId}",
onesignal_app_id : "47642d28-5e08-40c7-ae54-9db8f39f2cbd",
onesignal_google_project_number: "660750131316"] }
buildTypes {
release {
debuggable true
shrinkResources false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
}
dependencies
{
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile project(':pulltorefreshlibrary')
compile project(':aphidFlipViewLibrary')
compile files('libs/YouTubeAndroidPlayerApi.jar')
compile project(':volleynew')
compile 'com.android.support:appcompat-v7:22.0.0'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.android.support:support-v4:22.0.0.'
compile 'ch.acra:acra:4.9.0'
compile 'com.google.android.gms:play-services-ads:9.2.0'
compile 'com.google.android.gms:play-services-analytics:9.2.0'
compile 'com.onesignal:OneSignal:3.+@aar'
compile 'com.google.android.gms:play-services-gcm:9.2.0'
compile 'com.google.android.gms:play-services-location:9.2.0'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.squareup.okhttp:okhttp:2.0.+'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.+'
compile 'com.squareup.okio:okio:1.0.0'
compile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'
Progaurd-rules.pro是:
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-dontwarn