在上周,对于我的所有Android Studio项目,Proguard mapping.txt文件突然被创建为一个空文件(0 KB)。每次我创建一个构建文件时,都会正确生成该文件。每次创建构建文件时,都会生成以下文件:
seeds.txt
resources.txt
usage.txt
mapping.txt
每次创建构建时,都会正确生成除mapping.txt之外的所有文件。映射文件也已生成,但其中没有文本。
defaultConfig {
applicationId "com.xxxxxxxx.xxxxxxxxxxxxx"
minSdkVersion 19
targetSdkVersion 26
versionCode xxx
versionName "x.xx.x.xxx"
multiDexEnabled true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.config
debuggable false
}
}
Android Studio中是否存在可能被无意间切换的设置,并且正在阻止正确生成mapping.txt文件?我已经为此工作了3天,甚至创建了几个新项目,这些项目也创建了一个空的映射文件。
非常感谢您能给我的帮助。如果您需要其他信息,请告诉我。预先谢谢你。
这是我的ProGuard-rules.pro文件:
-ignorewarnings
-keep class * {
public private *;
}
-keep class android.support.v7.widget.ShareActionProvider { *; }
-dontwarn retrofit2.Platform$Java8
-dontwarn retrofit.Platform$Java8
-dontwarn okio.**
-keep class com.google.android.gms.** { *; }
-keepclassmembers class * implements android.os.Parcelable {
static ** CREATOR;
}
-keepclassmembers class * implements com.google.android.gms.common.internal.ReflectedParcelable {
static ** CREATOR;
}
-keep class com.fasterxml.jackson.databind.ObjectMapper {
public <methods>;
protected <methods>;
}
-keep class com.fasterxml.jackson.databind.ObjectWriter {
public ** writeValueAsString(**);
}
-keepnames class com.fasterxml.jackson.** { *; }
-dontwarn com.fasterxml.jackson.databind.**
-dontwarn com.fasterxml.jackson.core.**
-dontwarn com.fasterxml.jackson.annotation.**
#MobFox Integration
-keep class com.mobfox.** { *; }
-keep class com.mobfox.adapter.** {*;}
-keep class com.mobfox.sdk.** {*;}
#Ad Colony Integration
-keepclassmembers class com.adcolony.sdk.ADCNative** {
*;
}
# MoPub Integration
# Keep public classes and methods.
-keepclassmembers class com.mopub.** { public *; }
-keep public class com.mopub.**
-keep public class android.webkit.JavascriptInterface {}
# Explicitly keep any custom event classes in any package.
-keep class * extends com.mopub.mobileads.CustomEventBanner {}
-keep class * extends com.mopub.mobileads.CustomEventInterstitial {}
-keep class * extends com.mopub.nativeads.CustomEventNative {}
-keep class * extends com.mopub.nativeads.CustomEventRewardedAd {}
# Keep methods that are accessed via reflection
-keepclassmembers class ** { @com.mopub.common.util.ReflectionTarget *; }
-keepclassmembers class com.mopub.mobileads.CustomEventBannerAdapter {!private !public !protected *;}
# Viewability support
-keepclassmembers class com.integralads.avid.library.mopub.** { public *; }
-keep public class com.integralads.avid.library.mopub.**
-keepclassmembers class com.moat.analytics.mobile.mpub.** { public *; }
-keep public class com.moat.analytics.mobile.mpub.**
# Support for Android Advertiser ID.
-keep class com.google.android.gms.common.GooglePlayServicesUtil {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {*;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info {*;}
# Support for Google Play Services
# http://developer.android.com/google/play-services/setup.html
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
# Support for GlideApp
-keep public class * implements com.bumptech.glide.module.GlideModule
-keep public class * extends com.bumptech.glide.AppGlideModule
-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
**[] $VALUES;
public *;
}
-dontwarn com.bumptech.glide.load.engine.bitmap_recycle.LruBitmapPool
-dontwarn com.bumptech.glide.load.resource.bitmap.Downsampler
-dontwarn com.bumptech.glide.load.resource.bitmap.HardwareConfigState
# Suppot for AerServ
# AerServ SDK
-keep class com.aerserv.** { *; }
-keepclassmembers class com.aerserv.** { *; }
# Moat
-keep class com.moat.** {*;}
-dontwarn com.moat.**
# For Adcolony
-dontwarn android.webkit.**
-dontwarn com.adcolony.**
-keep class com.adcolony.sdk.* { *; }
# For Admob
-keep class com.google.android.gms.ads.** { *; }
# For Applovin
-dontwarn com.applovin.**
-keep class com.applovin.** { *; }
# For AppNext
-keep class com.appnext.** { *; }
-dontwarn com.appnext.**
# For Chartboost
-dontwarn com.chartboost.sdk.**
-keep class com.chartboost.sdk.** { *; }
# For Facebook
-dontwarn com.facebook.ads.**
-keep class com.facebook.ads.** { *; }
# For Millennial Media
-dontwarn com.millennialmedia.**
-keep class com.millennialmedia.** { *; }
# For Mopub
-dontwarn com.mopub.**
-keep class com.mopub.** { *; }
# For myTarget
-dontwarn com.my.target.ads.**
-keep class com.my.target.ads.** { *; }
# For RhythmOne
-dontwarn com.rhythmone.ad.sdk.**
-keep class com.rhythmone.ad.sdk.** { *; }
# For Tremor
-dontwarn com.tremorvideo.sdk.**
-keep class com.tremorvideo.sdk.android.videoad.** { *; }
# For Unity Ads
-dontwarn com.unity3d.ads.**
-keep class com.unity3d.ads.** { *; }
# For Vungle
-dontwarn com.vungle.publisher.**
-keep class com.vungle.publisher.** { *; }
# For Flurry by Yahoo
-dontwarn android.support.customtabs.**
-dontwarn com.flurry.android.**
-dontwarn com.inmobi.**
-keep class com.flurry.** { *; }
# For InMobi by Yahoo
-keepattributes SourceFile,LineNumberTable
-keep class com.inmobi.** { *; }
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**
-dontwarn com.squareup.picasso.**
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{
public *;
}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{
public *;
}
# skip the Picasso library classes
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.picasso.**
-dontwarn com.squareup.okhttp.**
# Google Android Classes
-keep public class com.google.android.gms.* { public *; }
-dontwarn com.google.android.gms.**
-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}
-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
public static final *** NULL;
}
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
@com.google.android.gms.common.annotation.KeepName *;
}
-keepnames class * implements android.os.Parcelable {
public static final ** CREATOR;
}
# Mapbox
-dontwarn com.mapbox.mapboxsdk.plugins.locationlayer.**
-dontwarn okhttp3.internal.platform.ConscryptPlatform.**
答案 0 :(得分:0)
这是由于第3方库阻止了映射文件的正确生成。我已经联系图书馆创建者,并且已经修复。