buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.example.hello"
minSdkVersion 9
targetSdkVersion 21
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile 'com.android.support:support-v4:22.2.0'
compile 'com.google.code.gson:gson:2.2.4'
compile 'com.android.support:appcompat-v7:22.2.0'
compile 'com.google.android.gms:play-services:+'
compile files('libs/bolts-android-1.2.0.jar')
compile files('libs/facebook.jar')
compile 'de.hdodenhof:circleimageview:1.2.1'
compile 'com.android.support:recyclerview-v7:21.0.+'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.jakewharton:butterknife:6.1.0'
compile 'com.android.support:cardview-v7:21.0.+'
compile 'com.github.bumptech.glide:glide:3.5.2'
compile 'com.android.support:support-v4:22.0.0'
compile('com.crashlytics.sdk.android:crashlytics:2.4.0@aar') {
transitive = true;
}
compile 'com.nhaarman.listviewanimations:lib-core:3.1.0@aar'
compile project(':gcmv')
compile 'com.android.support:design:22.2.0'
}
今天当我用proguard签署我的应用程序时,它在我的库中显示了太多警告。 因为警告我无法生成我签名的apk文件。 那么有没有办法在我的gradle文件中使用“dontwarn”。
答案 0 :(得分:3)
您似乎正在使用毕加索库。
尝试在proguard文件中添加此行。 (您的应用模块中的proguard-rules.pro
)
-dontwarn com.squareup.okhttp.**
答案 1 :(得分:2)
标准的Android构建过程会自动指定输入 罐子给你。不幸的是,许多预编译的第三方库 引用其他未实际使用的库,因此不是 当下。这在调试版本中工作正常,但在发布版本中, ProGuard期望所有库,因此它可以执行适当的静态 分析。例如,如果ProGuard抱怨它无法找到 java.awt类,然后是你正在使用的一些库 java.awt中。这有点阴暗,因为Android没有这个包 在任何情况下,如果您的应用程序仍然有效,您可以让ProGuard 例如,用“-dontwarn java.awt。**”接受它。
如上所述,如果它在调试中运行良好,您可以使用-dontwarn
作为类过滤器:
指定不警告未解析的引用和其他重要的引用 问题都没有。可选过滤器是正则表达式; ProGuard的 不会打印有关匹配名称的类的警告。忽略 警告可能很危险。例如,如果未解决的类或 类成员确实需要处理,处理过的代码 将无法正常运作。