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