2015-11-06 16 views
22

Tôi đã cố gắng cập nhật dịch vụ phát lên 8.3. Đây là những gì tôi đã thay đổi:Cập nhật dịch vụ Play từ 8.1 đến 8.3 với Proguard được bật

Trong gốc tập tin gradle:

dependencies { 
    classpath 'com.android.tools.build:gradle:1.5.0-beta1' 
    classpath 'com.google.gms:google-services:1.5.0-beta2' 
} 

Và trong ứng dụng tập tin gradle:

compile 'com.google.android.gms:play-services-maps:8.3.0' 
compile 'com.google.android.gms:play-services-location:8.3.0' 
compile 'com.google.android.gms:play-services-base:8.3.0' 
compile 'com.google.android.gms:play-services-gcm:8.3.0' 
compile 'com.google.android.gms:play-services-analytics:8.3.0' 
compile 'com.google.android.gms:play-services-appinvite:8.3.0' 
compile 'com.google.android.gms:play-services-ads:8.3.0' 
compile 'com.google.android.gms:play-services-appindexing:8.3.0' 

Nó xây dựng tốt, nhưng nó bị treo trên ra mắt với chồng sau dấu vết:

11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.google.android.gms.measurement.AppMeasurementContentProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.measurement.AppMeasurementContentProvider" on path: DexPathList[[zip file "/system/framework/android.test.runner.jar", zip file "/data/app/app.example.debug-1/base.apk"],nativeLibraryDirectories=[/data/app/app.example.debug-1/lib/arm, /vendor/lib, /system/lib]] 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at android.app.ActivityThread.installProvider(ActivityThread.java:5156) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at android.app.ActivityThread.installContentProviders(ActivityThread.java:4748) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4688) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at android.app.ActivityThread.-wrap1(ActivityThread.java) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1405) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at android.os.Handler.dispatchMessage(Handler.java:102) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at android.os.Looper.loop(Looper.java:148) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at android.app.ActivityThread.main(ActivityThread.java:5417) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at java.lang.reflect.Method.invoke(Native Method) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    11-06 17:30:17.460 2895-2895/app.example.debug E/AndroidRuntime:  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Chúng tôi đã bật chế độ bảo vệ và thường có abo ut 50/55k phương pháp trong gói ứng dụng đã tạo của chúng tôi. Nhưng với thiết lập này, chúng tôi nhận được 26k.

cấu hình ban đầu của chúng tôi là

classpath 'com.android.tools.build:gradle:1.3.0' 
classpath 'com.google.gms:google-services:1.4.0-beta3' 

Với tất cả các phụ thuộc dịch vụ chơi với phiên bản 8.1.0

Bất kỳ ý tưởng về những gì đang xảy ra ở đó?

EDIT

Dưới đây là tập tin Proguard của chúng tôi:

# will keep line numbers and file name obfuscation 
-renamesourcefileattribute SourceFile 
-keepattributes SourceFile,LineNumberTable 

-optimizations !code/allocation/variable 

-dontwarn javax.mail.** 
-dontwarn javax.management.** 
-dontwarn javax.rmi.** 
-dontwarn javax.naming.** 
-dontwarn javax.transaction.** 
-dontwarn javax.persistence.** 
-dontwarn java.lang.management.** 
-dontwarn java.lang.instrument.** 
-dontwarn org.slf4j.** 
-dontwarn org.json.** 

-keep class org.apache.** 
-dontwarn org.apache.** 
-keep class org.apache.http.** { *; } 
-dontwarn org.apache.http.** 

-dontwarn org.springframework.** 

-dontwarn sun.misc.Unsafe 
-dontwarn com.google.gwt.** 


# Allow obfuscation of android.support.v7.internal.view.menu.** 
# to avoid problem on Samsung 4.2.2 devices with appcompat v21 
# see https://code.google.com/p/android/issues/detail?id=78377 
-keep class !android.support.v7.internal.view.menu.*MenuBuilder*, android.support.v7.** { *; } 
-keep interface android.support.v7.** { *; } 

# Configuration for Fabric Twitter Kit 
# See: https://dev.twitter.com/twitter-kit/android/integrate 

-dontwarn com.squareup.okhttp.** 
-dontwarn com.google.appengine.api.urlfetch.** 
-dontwarn rx.** 
-dontwarn retrofit.** 
-keepattributes Signature 
-keepattributes *Annotation* 
-keep class com.squareup.okhttp.** { *; } 
-keep interface com.squareup.okhttp.** { *; } 
-keep class retrofit.** { *; } 
-keepclasseswithmembers class * { 
    @retrofit.http.* *; 
} 


# For using GSON @Expose annotation 
-keepattributes *Annotation* 
-keepattributes EnclosingMethod 


# Gson specific classes 
-keep class sun.misc.Unsafe { *; } 
-keep class com.google.gson.stream.** { *; } 


# Branch 
-keep class com.google.android.gms.ads.identifier.** { *; } 


# OkHttp 
-dontwarn rx.** 

-dontwarn okio.** 

-dontwarn com.squareup.okhttp.** 
-keep class com.squareup.okhttp.** { *; } 
-keep interface com.squareup.okhttp.** { *; } 

-dontwarn retrofit.** 
-dontwarn retrofit.appengine.UrlFetchClient 
-keep class retrofit.** { *; } 
-keepclasseswithmembers class * { 
    @retrofit.http.* <methods>; 
} 


# LeakCanary 
-keep class org.eclipse.mat.** { *; } 
-keep class com.squareup.leakcanary.** { *; } 
-dontwarn com.squareup.leakcanary.DisplayLeakService 


#Intercom 
-dontwarn intercom.** 
-dontwarn io.intercom.** 


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


-keep class com.google.appengine.api.datastore.Text { *; } 
+0

Bạn có thể bao gồm wha t proguard cấu hình bạn đã có? Điều này cùng một bộ phụ thuộc và công cụ xây dựng và chạy cho chúng tôi. – ianhanniballake

+0

xong @ianhanniballake – FallasB

Trả lời

26

Cập nhật

classpath 'com.google.gms:google-services:1.5.0-beta2' 

đến vừa phát hành

classpath 'com.google.gms:google-services:1.5.0' 
+5

cảm ơn! Tôi tự hỏi tại sao tài liệu chính thức không được cập nhật. https://developers.google.com/cloud-messaging/android/client –

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