Android Studio 1.0.2" minifyEnabled true " bloque la version signée apk

la mise à niveau vers Android Studio 1.0.2 provoque le plantage du fichier APK signé de libération dès que l'application est lancée(debug apk fonctionne très bien).

paramétrer le * * minifiyEnabled à false * * corrige le crash dans les fichiers apk de version signés.

buildTypes section de la construction.gradle (Module:app) ressemble au fichier ci-dessous

   buildTypes {
        release {
            minifyEnabled  false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

La ligne getDefaultProguardFile semble être le suspect depuis le studio android montre souligne l' getDefaultProguardFile et quand planait sur elle montre d'avertissement ne peut pas résoudre le symbole getDefaultProguardFile.

voici Le construire.gradle(projet) le fichier

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.0.0'
    }
}

allprojects {
    repositories {
        mavenCentral()
    }
}

voici Le construire.gradle(app) le contenu du fichier

apply plugin: 'android'

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 9
        targetSdkVersion 17
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled  false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

dependencies {
    compile 'com.android.support:appcompat-v7:+'
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.google.android.gms:play-services:6.1.+'

}

mise à Jour 1:

There are some warning in the gradle build
Executing tasks: [:app:assembleRelease]

Configuration on demand is an incubating feature.
:app:preBuild
:app:preReleaseBuild
:app:checkReleaseManifest
:app:preDebugBuild
:app:prepareComAndroidSupportAppcompatV72103Library
:app:prepareComAndroidSupportSupportV42103Library
:app:prepareComGoogleAndroidGmsPlayServices6171Library
:app:prepareReleaseDependencies
:app:compileReleaseAidl
:app:compileReleaseRenderscript
:app:generateReleaseBuildConfig
:app:generateReleaseAssets UP-TO-DATE
:app:mergeReleaseAssets
:app:generateReleaseResValues
:app:generateReleaseResources
:app:mergeReleaseResources
/home/hhk/src/android_project/govinda_suprabhatam_alarm/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-xhdpi/abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/hhk/src/android_project/govinda_suprabhatam_alarm/app/src/main/res/drawable/bell_48_48.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/hhk/src/android_project/govinda_suprabhatam_alarm/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-hdpi/abc_spinner_mtrl_am_alpha.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/hhk/src/android_project/govinda_suprabhatam_alarm/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-hdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/hhk/src/android_project/govinda_suprabhatam_alarm/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-hdpi/abc_ab_share_pack_holo_light.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/hhk/src/android_project/govinda_suprabhatam_alarm/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-xhdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
/home/hhk/src/android_project/govinda_suprabhatam_alarm/app/build/intermediates/exploded-aar/com.android.support/appcompat-v7/21.0.3/res/drawable-mdpi/abc_ab_share_pack_holo_dark.9.png: libpng warning: iCCP: Not recognizing known sRGB profile that has been edited

:app:processReleaseManifest
:app:processReleaseResources
:app:generateReleaseSources
:app:compileReleaseJava
Note: /home/hhk/src/android_project/govinda_suprabhatam_alarm/app/src/main/java/com/suprabhatam/alarm/MainActivity.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

:app:lintVitalRelease
:app:compileReleaseNdk
:app:preDexRelease
:app:dexRelease
:app:processReleaseJavaRes UP-TO-DATE
:app:validateExternalOverrideSigning
:app:packageRelease
:app:zipalignRelease
:app:assembleRelease

BUILD SUCCESSFUL

Total time: 41.768 secs

le message d'erreur pertinent de ADB logcat est ci-dessous

D/dalvikvm(  326): threadid=1: interp stack at 0x41c23000
E/AndroidRuntime(32767): FATAL EXCEPTION: main
E/AndroidRuntime(32767): java.lang.NullPointerException
E/AndroidRuntime(32767):    at com.suprabhatam.alarm.MainActivity.onCreateOptionsMenu(Unknown Source)
E/AndroidRuntime(32767):    at android.app.Activity.onCreatePanelMenu(Activity.java:2508)
E/AndroidRuntime(32767):    at android.support.v4.app.o.onCreatePanelMenu(Unknown Source)
E/AndroidRuntime(32767):    at android.support.v7.app.e.a(Unknown Source)
E/AndroidRuntime(32767):    at android.support.v7.app.g.a(Unknown Source)
E/AndroidRuntime(32767):    at android.support.v7.app.ActionBarActivityDelegateBase.b(Unknown Source)
E/AndroidRuntime(32767):    at android.support.v7.app.ActionBarActivityDelegateBase.d(Unknown Source)
E/AndroidRuntime(32767):    at android.support.v7.app.ActionBarActivityDelegateBase.a(Unknown Source)
E/AndroidRuntime(32767):    at android.support.v7.app.h.run(Unknown Source)
E/AndroidRuntime(32767):    at android.os.Handler.handleCallback(Handler.java:800)
E/AndroidRuntime(32767):    at android.os.Handler.dispatchMessage(Handler.java:100)
E/AndroidRuntime(32767):    at android.os.Looper.loop(Looper.java:194)
E/AndroidRuntime(32767):    at android.app.ActivityThread.main(ActivityThread.java:5391)
E/AndroidRuntime(32767):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(32767):    at java.lang.reflect.Method.invoke(Method.java:525)
E/AndroidRuntime(32767):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
E/AndroidRuntime(32767):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
E/AndroidRuntime(32767):    at dalvik.system.NativeStart.main(Native Method)
V/Provider/Settings(  554):  from settings cache , name = dropbox:data_app_crash , value = null
D/dalvikvm(  554): create interp thread : stack size=128KB

....
....
D/PowerManagerService(  554): updateScreenStateLocked: mDisplayReady=true, newScreenState=2, mWakefulness=1, mWakeLockSummary=0x1, mUserActivitySummary=0x1, mBootCompleted=true
D/PowerManagerService(  554): handleSandman: canDream=true, mWakefulness=Awake
V/Provider/Settings(  554):  from settings cache , name = anr_show_background , value = null
V/ActivityManager(  554): Broadcast: Intent { act=android.intent.action.DROPBOX_ENTRY_ADDED flg=0x10 (has extras) } ordered=false userid=0 callerApp=ProcessRecord{41c6a9c0 554:system/1000}
D/AES     (  554): ExceptionLog: notify aed
D/AES     (  554):     process : com.suprabhatam.alarm
D/AES     (  554):      module : com.suprabhatam.alarm v1 (1.0)
D/AES     (  554): 
D/AES     (  554):       cause : data_app_crash
D/AES     (  554):       pid : 32767
D/AEE/LIBAEE(  554): shell: raise_exp(2, 32767, -1361051648, com.suprabhatam.alarm, 0x0x61e05008, 0x0x0)

....
....
D/AEE/AED (  122): p 4 poll events 1 revents 0
D/AEE/AED (  122): not know revents:0
D/dalvikvm(32767): DexOpt: --- END 'ads714289260.jar' (success) ---
D/dalvikvm(32767): DEX prep '/data/data/com.suprabhatam.alarm/cache/ads714289260.jar': unzip in 1ms, rewrite 87ms
V/WindowManager(  554): Changing focus from Window{421f4cd0 u0 com.suprabhatam.alarm/com.suprabhatam.alarm.MainActivity} to Window{427208a0 u0 Application Error: com.suprabhatam.alarm}
I/WindowManager(  554): Gaining focus: Window{427208a0 u0 Application Error: com.suprabhatam.alarm}
D/dalvikvm(32767): create interp thread : stack size=128KB

....
....
I/BufferQueue(  129): [unnamed-129-849](this:0x4153dc80,api:0) setSynchronousMode: enabled=1
I/BufferQueue(  129): [unnamed-129-849](this:0x4153dc80,api:0) setDefaultBufferSize: w=1, h=1
I/BufferQueue(  129): [Application Error: com.suprabhatam.alarm](this:0x4153dc80,api:0) setConsumerName: Application Error: com.suprabhatam.alarm
D/KeyguardViewMediator(  554): setHidden false
D/KeyguardUpdateMonitor(  554): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor(  554): handleKeyguardVisibilityChanged(1)
D/KeyguardViewMediator(  554): handleMessage enter msg name=SET_HIDDEN
D/KeyguardViewMediator(  554): handleMessage exit msg name=SET_HIDDEN
I/BufferQueue(  129): [Application Error: com.suprabhatam.alarm](this:0x4153dc80,api:0) setDefaultBufferSize: w=480, h=220
I/BufferQueue(  129): [com.lenovo.launcher/com.lenovo.launcher2.Launcher](this:0x41542040,api:0) consumerDisconnect
I/BufferQueue(  129): [com.lenovo.launcher/com.lenovo.launcher2.Launcher](this:0x41542040,api:0) ~BufferQueue
I/GraphicBuffer(  129): free buffer (w:480 h:854 f:1) handle(0x43662f78)
D/KeyguardViewMediator(  554): setHidden false
D/KeyguardUpdateMonitor(  554): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor(  554): handleKeyguardVisibilityChanged(1)
D/KeyguardViewMediator(  554): handleMessage enter msg name=SET_HIDDEN
D/KeyguardViewMediator(  554): handleMessage exit msg name=SET_HIDDEN
I/BufferQueue(  129): [Application Error: com.suprabhatam.alarm](this:0x4153dc80,api:0) connect: api=2
I/BufferQueue(  129): [Application Error: com.suprabhatam.alarm](this:0x4153dc80,api:2) setSynchronousMode: enabled=1
I/BufferQueue(  129): [Application Error: com.suprabhatam.alarm](this:0x4153dc80,api:2) new GraphicBuffer needed
D/BufferQueue(  129):     [OLD] gb:NULL
I/GraphicBuffer(  129): allocate buffer (w:480 h:220 f:1) handle(0x414f7050) err(0)
I/BufferQueue(  129):     [NEW] gb=0x41523678, handle=0x414f7050, w=480, h=220, s=480, fmt=1
D/GraphicBuffer(  554): create handle(0x636639d0) (w:480, h:220, f:1)
D/KeyguardViewMediator(  554): setHidden false
D/KeyguardUpdateMonitor(  554): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor(  554): handleKeyguardVisibilityChanged(1)
D/KeyguardViewMediator(  554): handleMessage enter msg name=SET_HIDDEN
D/KeyguardViewMediator(  554): handleMessage exit msg name=SET_HIDDEN
I/SurfaceTexture(  129): [Application Error: com.suprabhatam.alarm](this:0x41521b80,api:2) [void* android::SurfaceTexture::createImage(EGLDisplay, const android::sp<android::GraphicBuffer>&)]

....
....
V/webcore (24597): webkitDraw NEW_PICTURE_MSG_ID
V/webview (24597): NEW_PICTURE_MSG_ID
D/webkit/webview(24597): setNewPicture::start
D/webkit/webview(24597): setNewPicture::processing 111
D/KeyguardViewMediator(  554): setHidden false
D/KeyguardUpdateMonitor(  554): sendKeyguardVisibilityChanged(true)
D/KeyguardUpdateMonitor(  554): handleKeyguardVisibilityChanged(1)
D/KeyguardViewMediator(  554): handleMessage enter msg name=SET_HIDDEN
D/KeyguardViewMediator(  554): handleMessage exit msg name=SET_HIDDEN
W/ActivityManager(  554): Activity pause timeout for ActivityRecord{41c6b7a8 u0 com.suprabhatam.alarm/.MainActivity}
V/ActivityManager(  554): Enqueueing pending finish: ActivityRecord{41c6b7a8 u0 com.suprabhatam.alarm/.MainActivity}

....
....
I/alpha   (  804): AppContentView == draw  +++1.0
I/BufferQueue(  129): [Application Error: com.suprabhatam.alarm](this:0x4153dc80,api:2) new GraphicBuffer needed
D/BufferQueue(  129):     [OLD] gb:NULL
I/GraphicBuffer(  129): allocate buffer (w:480 h:220 f:1) handle(0x41543e88) err(0)
I/BufferQueue(  129):     [NEW] gb=0x43661a98, handle=0x41543e88, w=480, h=220, s=480, fmt=1
D/GraphicBuffer(  554): create handle(0x65525ad8) (w:480, h:220, f:1)
I/alpha   (  804): AppContentView == draw  +++1.0
I/zdx2    (  804): ----------------Workspace.updateChildrenLayersEnabled----true
I/zdx2    (  804): ----------------Workspace.updateChildrenLayersEnabled----true
I/SurfaceTexture(  129): [Application Error: com.suprabhatam.alarm](this:0x41521b80,api:2) [void* android::SurfaceTexture::createImage(EGLDisplay, const android::sp<android::GraphicBuffer>&)]
D/SurfaceTexture(  129):     GraphicBuffer: gb=0x43661a98 handle=0x41543e88
D/SurfaceTexture(  129):     EGLImage: dpy=0x1, img=0x1000000b
I/alpha   (  804): AppContentView == draw  +++1.0
D/MsensorDaemon(  333): Msensor deamon statr!!!!!!!!!!!!
D/MsensorDaemon(  333): open demon attr err = No such file or directory
I/alpha   (  804): AppContentView == draw  +++1.0
I/alpha   (  804): AppContentView == draw  +++1.0

....
....
D/SignalClusterViewGemini(  647): apply(). mIsAirplaneMode is false
D/NetworkControllerGemini(  647): PhoneStateListener:onDataActivity, sim0 after.
I/BufferQueue(  129): [Application Error: com.suprabhatam.alarm](this:0x4153dc80,api:2) new GraphicBuffer needed
D/BufferQueue(  129):     [OLD] gb:NULL
I/GraphicBuffer(  129): allocate buffer (w:480 h:220 f:1) handle(0x43661bf0) err(0)
I/BufferQueue(  129):     [NEW] gb=0x41526478, handle=0x43661bf0, w=480, h=220, s=480, fmt=1
D/GraphicBuffer(  554): create handle(0x6294fd48) (w:480, h:220, f:1)
I/SurfaceTextureClient(  554): [STC::queueBuffer] (this:0x639270a0) fps:1.66, dur:1201.78, max:974.38, min:227.40
I/BufferQueue(  129): [Application Error: com.suprabhatam.alarm](this:0x4153dc80,api:2) [queue] fps:1.66, dur:1201.87, max:974.35, min:227.53
I/SurfaceTexture(  129): [Application Error: com.suprabhatam.alarm](this:0x41521b80,api:2) [void* android::SurfaceTexture::createImage(EGLDisplay, const android::sp<android::GraphicBuffer>&)]

MainActivity:: onreateoptionmenu méthode est définie comme

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);

    MenuItem item = (MenuItem) menu.findItem(R.id.action_share);
    ShareActionProvider shareAction = (ShareActionProvider) MenuItemCompat.getActionProvider(item);
    Intent shareIntent = new Intent(Intent.ACTION_SEND)
            .putExtra(Intent.EXTRA_TEXT, "text")
            .setType("text/plain");

    shareAction.setShareIntent(shareIntent);

    return true;
}
16
demandé sur Talespin_Kit 2015-01-28 21:17:53

2 réponses

Ajouter les règles suivantes pour votre proguard-rules.pro fichier.

-keep class android.support.v4.app.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep class android.support.v7.app.** { *; }
-keep interface android.support.v7.app.** { *; }

si le fichier n'existe pas, vous pouvez le créer sous app/proguard-rules.pro. Notez que le fichier peut ne pas s'afficher si vous avez Android Studio "Android". Vous devrez peut-être passer temporairement à la vue "projet" pour la trouver.

2
répondu James McCracken 2015-01-28 19:38:14
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in D:/program/studio/sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# 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 *;
#}


-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-ignorewarnings
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*

-keepattributes *Annotation*
-keepattributes Signature
-keepattributes SourceFile,LineNumberTable


#-libraryjars libs/asmack-android-19-0.8.10.jar
#-libraryjars libs/android-support-v4.jar

# 保持 native 方法不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

# 保持自定义控件类不被混淆
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}

-keepclasseswithmembers class * {
    void onClick*(...);
}
-keepclasseswithmembers class * {
    *** *Callback(...);
}

# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
   void set*(***);
   *** get*();
}

# 保持自定义控件类不被混淆
-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

# 保持枚举 enum 类不被混淆
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# 保持 Parcelable 不被混淆
-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}
-keep class * implements android.os.Serializable {
  public static final android.os.Serializable$Creator *;
}
-keepclassmembers class **.R$* {
    public static <fields>;
}

# http client
-keep class org.apache.http.** {*; }
-keep class org.apache.**{*;}

# umeng message anysl
# 以下类过滤不混淆
-keep public class * extends com.umeng.**
# 以下包不进行过滤
-keep class com.umeng.** { *; }
-keepclassmembers class * {
   public <init>(org.json.JSONObject);
}

-keep,allowshrinking class org.android.agoo.service.* {
    public <fields>;
    public <methods>;
}
-keep,allowshrinking class com.umeng.message.* {
    public <fields>;
    public <methods>;
}

-keep public class com.airi.buyue.R$*{
    public static final int *;
}

-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
-keep public class com.umeng.fb.ui.ThreadView {
}
#是 universalimageloader
-dontwarn com.nostra13.universalimageloader.**

-keep class com.nostra13.universalimageloader.** {
    *;
}

# v4 包的混淆

#-libraryjars ./libs/android-support-v4.jar

#-dontwarn android.support.**

-dontwarn android.support.v4.**

-dontwarn **CompatHoneycomb

-dontwarn **CompatHoneycombMR2

-dontwarn **CompatCreatorHoneycombMR2

-keep interface android.support.v4.app.** { *; }

-keep class android.support.v4.** { *; }

-keep public class * extends android.support.v4.**

-keep public class * extends android.app.Fragment
#alipay
-keep class com.alipay.android.app.**{*;}

-keepattributes Signature

-keepattributes *Annotation*

#-libraryjars src/main/ormlite-android-4.48.jar
#-libraryjars src/main/ormlite-core-4.48.jar

-dontwarn com.j256.**

-keep class com.j256.** { *; }
-keep class com.j256.ormlite.** { *; }

-keep public class * extends com.j256.ormlite.android.apptools.OrmLiteSqliteOpenHelper
-keep public class * extends com.j256.ormlite.android.apptools.OpenHelperManager
-keep public class * extends com.j256.ormlite.dao
-dontwarn com.j256.ormlite.android.**
-dontwarn com.j256.ormlite.dao.**
-dontwarn com.j256.ormlite.db.**
-dontwarn com.j256.ormlite.field.**
-dontwarn com.j256.ormlite.logger.**
-dontwarn com.j256.ormlite.misc.**
-dontwarn com.j256.ormlite.stmt.**
-dontwarn com.j256.ormlite.support.**
-dontwarn com.j256.ormlite.table.**
-dontwarn com.j256.ormlite.**
-dontwarn com.j256.ormlite.android.**
-dontwarn com.j256.ormlite.field.**
-dontwarn com.j256.ormlite.stmt.**

-keep class com.j256.ormlite.** { *; }
-keep class com.j256.ormlite.android.** { *; }
-keep class com.j256.ormlite.field.** { *; }
-keep class com.j256.ormlite.dao.** { *; }
-keep class com.j256.ormlite.db.** { *; }
-keep class com.j256.ormlite.stmt.** { *; }

#无法保存 bean
-keep class com.ishow.funnymap.bean.** { *; }
#保护<init>(Context context) 不被混淆
-keepclasseswithmembers class * {
    public <init>(android.content.Context);
}

#个推
-dontwarn com.igexin.**
-keep class com.igexin.**{*;}

#ACRA specifics
# we need line numbers in our stack traces otherwise they are pretty useless
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

# ACRA needs "annotations" so add this...
#-keepattributes *Annotation*

# volley
-dontwarn com.android.volley.jar.**
-keep class com.android.volley.**{*;}

-keepattributes *Annotation*
-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
-keep public class * extends android.app.backup.BackupAgent
-keep public class * extends android.preference.Preference
-keep public class * extends android.support.v4.app.Fragment
-keep public class * extends android.app.Fragment
-keep public class com.android.vending.licensing.ILicensingService
-keep class com.itheima.mobilesafe.engine.AppInfoProvider
-keep class net.youmi.android.** {
*;
}
-keep class com.airi.buyue.entity.**{*;}
-keep class com.airi.buyue.data.**{*;}
-keep class com.airi.buyue.table.**{*;}
-dontshrink
-dontoptimize
-dontwarn com.google.android.maps.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**
#-libraryjars src/main/SocialSDK_QQZone_2.jar
-keep enum com.facebook.**
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable
-keep public interface com.facebook.**
-keep public interface com.tencent.**
-keep public interface com.umeng.socialize.**
-keep public interface com.umeng.socialize.sensor.**
-keep public interface com.umeng.scrshot.**
-keep public class com.umeng.socialize.* {*;}
-keep public class javax.**
-keep public class android.webkit.**
-keep class com.facebook.**
-keep class com.umeng.scrshot.**
-keep public class com.tencent.** {*;}
-keep class com.umeng.socialize.sensor.**
-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}
-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}
-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}
-keep public class com.airi.buyue.R$*{
    public static final int *;
}

-keep class com.baidu.mapapi.** {*;}

#-libraryjars src/main/libs/locSDK_5.0.jar
-keep class com.baidu.** { *; }
-keep class vi.com.gdi.bgl.android.**{*;}

-keepclasseswithmembernames class * {
    native <methods>;
}

-dontshrink
-dontoptimize
-dontwarn com.google.android.maps.**
-dontwarn android.webkit.WebView
-dontwarn com.umeng.**
-dontwarn com.tencent.weibo.sdk.**
-dontwarn com.facebook.**

#-libraryjars src/main/libs/SocialSDK_QQZone_2.jar

-keep enum com.facebook.**
-keepattributes Exceptions,InnerClasses,Signature
-keepattributes *Annotation*
-keepattributes SourceFile,LineNumberTable

-keep public interface com.facebook.**
-keep public interface com.tencent.**
-keep public interface com.umeng.socialize.**
-keep public interface com.umeng.socialize.sensor.**
-keep public interface com.umeng.scrshot.**

-keep public class com.umeng.socialize.* {*;}
-keep public class javax.**
-keep public class android.webkit.**

-keep class com.facebook.**
-keep class com.umeng.scrshot.**
-keep public class com.tencent.** {*;}
-keep class com.umeng.socialize.sensor.**

-keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;}

-keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;}

-keep class im.yixin.sdk.api.YXMessage {*;}
-keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;}

-keep public class com.airi.buyue.R$*{
    public static final int *;
}

-keep,allowshrinking class org.android.agoo.service.* {
    public <fields>;
    public <methods>;
}

-keep,allowshrinking class com.umeng.message.* {
    public <fields>;
    public <methods>;
}

-keep public class com.airi.buyue.R$*{
   public static final int *;
}

#amap
-keep class android.support.v4.** {*;}
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
-keep class com.amap.api.**  {*;}
-keep class com.autonavi.**  {*;}
-keep class com.a.a.**  {*;}

-keep class com.amp.apis.lib.**{*;}
-keep class com.squareup.picasso.**{*;}
-dontwarn android.support.v4.**
-keep class android.support.v4.** { *; }
-keep interface android.support.v4.app.** { *; }
-keep public class * extends android.support.v4.**
-keep public class * extends android.app.Fragment
-dontwarn com.amap.api.**
-dontwarn com.a.a.**
-dontwarn com.autonavi.**
-keep class com.amap.api.**  {*;}
-keep class com.autonavi.**  {*;}
-keep class com.a.a.**  {*;}

-keep class com.amap.api.mapcore.**{*;}
-keep class com.amap.api.maps.**{*;}
-keep class com.autonavi.amap.mapcore.*{*;}
-keep class com.amap.api.location.**{*;}
-keep class com.aps.**{*;}
-keep class com.amap.api.services.**{*;}

#//umeng mssg
-keep class com.umeng.message.* {
    public <fields>;
    public <methods>;
}

-keep class com.umeng.message.protobuffer.MessageResponse$PushResponse$Info {
    public <fields>;
    public <methods>;
}

-keep class com.umeng.message.protobuffer.MessageResponse$PushResponse$Info$Builder {
    public <fields>;
    public <methods>;
}

-keep class org.android.agoo.impl.*{
    public <fields>;
    public <methods>;
}

-keep class org.android.agoo.service.* {*;}

-keep class org.android.spdy.**{*;}

-keep public class com.airi.buyue.R$*{
    public static final int *;
}
-keep class org.springframework.**

-dontwarn butterknife.internal.**
-keep class **$$ViewInjector { *; }
-keepnames class * { @butterknife.InjectView *;}

-keepclassmembers class ** {
    public void onEvent*(**);
    void onEvent*(**);
}

-keep class com.airi.buyue.browser.**{*;}

#-keepclassmembers class * {
#    @android.webkit.JavascriptInterface <methods>;
#}
#-keepattributes JavascriptInterface
#-keep public class com.airi.buyue.browser.BrowserActivity$JsObject
#-keep public class * implements com.airi.buyue.browser.BrowserActivity$JsObject
#-keepclassmembers class com.airi.buyue.browser.BrowserActivity$JsObject {
#    <methods>;
#}
-4
répondu tiny sunlight 2015-11-06 10:35:22