versiones tutorial studio requisitos full developers descargar android android-studio

tutorial - Android Studio 1.0.2 “minifyEnabled true” bloquea el apk de la versión firmada



android studio versiones (2)

Agregue las siguientes reglas a su archivo proguard-rules.pro .

-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 el archivo no existe, puede crearlo en app/proguard-rules.pro . Tenga en cuenta que es posible que el archivo no se muestre si tiene Android Studio configurado en la vista "Android". Es posible que deba cambiar temporalmente a la vista "Proyecto" para encontrarlo.

La actualización a Android Studio 1.0.2 hace que el archivo apk de la versión firmada se bloquee tan pronto como se inicie la aplicación (la debug apk funciona bien).

Al configurar ** minifiyEnabled en false ** se corrige el bloqueo en los archivos apk de la versión firmada.

La sección buildTypes del archivo build.gradle (Module: app) se ve a continuación

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

La línea getDefaultProguardFile parece ser el sospechoso, ya que el estudio de Android muestra los resaltados de getDefaultProguardFile y cuando se coloca sobre él muestra una advertencia No se puede resolver el símbolo getDefaultProguardFile .

El siguiente es el archivo build.gradle (proyecto)

// 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() } }

El siguiente es el contenido del archivo build.gradle (aplicación)

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.+'' }

Actualización 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

El mensaje de error relevante de adb logcat está abajo.

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>&)]

El método MainActivity :: onCreateOptionMenu se define como

@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; }


# 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>; #}