2015-01-28 18 views
16

Nâng cấp lên Android Studio 1.0.2 khiến tệp APK phát hành đã ký bị lỗi ngay khi ứng dụng được khởi chạy (gỡ lỗi apk hoạt động tốt).Android Studio 1.0.2 "minifyEnabled true" treo phát hành APK đã ký

Đặt ** minifiyEnabled thành false ** khắc phục sự cố trong tệp APK phát hành đã ký.

Các buildTypes phần của build.gradle (Học phần: ứng dụng) tập tin trông giống như dưới đây

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

Dòng getDefaultProguardFile dường như là nghi ngờ kể từ khi chương trình phòng thu android nhấn mạnh getDefaultProguardFile và khi được di chuột qua nó sẽ hiển thị cảnh báo Không thể giải quyết ký hiệu getDefaultProguardFile.

Sau đây là build.gradle (dự án) tập tin

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

Sau đây là build.gradle (ứng dụng) nội dung tập tin

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

} 

Cập nhật 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 

Các thông báo lỗi liên quan của logcat adb dưới

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

Các MainActivity :: onCreateOptionMenu phương pháp được định nghĩa là

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

lỗi là gì – tyczj

+1

Bạn có thêm quy tắc cần thiết cho Proguard không? – EpicPandaForce

+0

@tyczj Vui lòng xem bản cập nhật. –

Trả lời

2

Thêm các quy tắc sau đây để tập proguard-rules.pro của bạn.

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

Nếu tệp không tồn tại, bạn có thể tạo tệp đó dưới app/proguard-rules.pro. Lưu ý rằng tệp có thể không hiển thị nếu bạn đã đặt Android Studio ở chế độ xem "Android". Bạn có thể cần tạm thời chuyển sang chế độ xem "Dự án" để tìm.

+0

đâu là quy tắc bảo vệ.pro tập tin nằm. Nó không có trong thư mục nguồn applicaiton. –

+0

Tôi đã cập nhật câu trả lời của mình. –

+0

Nó không làm việc cho tôi ... Nó thậm chí còn bị rơi sau khi thêm cái này. – NarendraJi

0

Kiểm tra tên bí danh ứng dụng của bạn

Một số thời gian có thể được có thể là tên bí danh của bạn sai khi tạo apk ký. Vì vậy, hãy kiểm tra rõ ràng tên bí danh ứng dụng của bạn.

-4
# 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>; 
#} 
+0

Xin vui lòng cho biết làm thế nào điều này sẽ giúp OP? – Gattsu

Các vấn đề liên quan