com.google.android.gms.internal.zzhu:找不到引用的类android.security.NetworkSecurityPolicy

我试图使用proguard生成一个apk,但是我试图构build时出现这个错误:

Warning: com.google.android.gms.internal.zzhu: can't find referenced class android.security.NetworkSecurityPolicy Warning: there were 3 unresolved references to classes or interfaces. You may need to add missing library jars or update their versions. If your code works fine without the missing classes, you can suppress the warnings with '-dontwarn' options. (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass) :app:proguardRelease FAILED Error:Execution failed for task ':app:proguardRelease'. java.io.IOException: Please correct the above warnings first. 

最近,我升级了我的Android SDK工具。 在此之前,这个项目没有提出有关proguard的问题。 我发现这个post( https://plus.google.com/+PaulBurke/posts/T3vmAnRP3q6 )奥利弗·雷纳写道:

“所以基本上,下一个Google库可能不会升级到最新版本,似乎还需要compileSdk 23以便能够在不进行修改的情况下使用ProGuard(警告:com.google.android.gms.internal.zzhu:can找不到引用类android.security.NetworkSecurityPolicy)“*

我更新了我的项目使用SDK 23进行编译,但问题并没有解决。

贝娄,我包括我的build.gradle文件的一些部分:

 compileSdkVersion 23 buildToolsVersion "23.0.0" defaultConfig { applicationId "com.sample.sample" minSdkVersion 16 targetSdkVersion 23 versionCode 1 versionName "1.0.0" } . . . dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:23.0.0' compile 'com.google.android.gms:play-services:+' compile 'com.android.support:design:23.0.0' compile('com.crashlytics.sdk.android:crashlytics:2.5.0@aar') { transitive = true; } } 

Solutions Collecting From Web of "com.google.android.gms.internal.zzhu:找不到引用的类android.security.NetworkSecurityPolicy"

我有这个相同的问题。 警告消息说:

如果你的代码工作正常,没有丢失的类,你可以用'-twtwarn'选项来禁止警告。

那么让我们来看看它的build议:

 -dontwarn com.google.android.gms.internal.zzhu 

对我来说,这个问题已经解决了。 但是,如果由于某种原因,如果没有这个类,你的代码就不能正常工作,你可以这样做(未经testing):

 -keep class com.google.android.gms.internal.** { *; } 

请注意,您需要使用-dontwarn线。 祝你好运!

对我而言,看起来这实际上是由于Google意外地将AdMob包含在Play Services Analytics 8.1的依赖项中: https : //plus.google.com/+GoogleDevelopers/posts/HsSNWEQ6H4e

如果我排除在build.gradleplay-services-ads模块,我不会得到与android.security.NetworkSecurityPolicy Proguard错误,我的发行版本安装和运行没有任何问题(这是以前崩溃的启动与java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity ,而debugging版本工作正常):

 compile ('com.google.android.gms:play-services-analytics:8.1.0') { exclude module: 'play-services-ads' } 

在Proguard规则中,您还需要:

 -dontwarn com.google.android.gms.ads.** 

感谢这篇文章的详细信息(虽然它没有引用构build崩溃,只是APK大小): https : //medium.com/google-developer-experts/warning-for-google-analytics-users-44b0096084e2#。 4b3egtbxh

这是我正在处理的项目的问题,其中包括解决问题的提交: https : //github.com/OneBusAway/onebusaway-android/issues/342

编辑

用户报告说在8.3中解决了这个问题,这意味着你可以通过将你的build.gradle设置为:

compile 'com.google.android.gms:play-services-analytics:8.3.0'

我还没有证实自己。

当我最近升级我的播放服务依赖时,我有这样的类似的错误。 当您不必更新与您使用的播放服务版本相对应的Firebase依赖项时,似乎就会发生这种情况。

以下是我的依赖关系的两个版本:

错误版本的依赖关系

 compile 'com.google.firebase:firebase-appindexing:10.0.1' compile 'com.google.android.gms:play-services-maps:10.0.1' compile 'com.google.android.gms:play-services-places:10.0.1' compile 'com.google.android.gms:play-services-location:10.0.1' compile 'com.google.firebase:firebase-auth:9.8.0' compile 'com.google.firebase:firebase-database:9.8.0' compile 'com.firebaseui:firebase-ui-database:1.0.1' compile 'com.google.firebase:firebase-storage:9.8.0' 

工作版本的依赖“

 compile 'com.google.firebase:firebase-appindexing:10.0.1' compile 'com.google.android.gms:play-services-maps:10.0.1' compile 'com.google.android.gms:play-services-places:10.0.1' compile 'com.google.android.gms:play-services-location:10.0.1' compile 'com.google.firebase:firebase-auth:10.0.0' compile 'com.google.firebase:firebase-database:10.0.0' compile 'com.firebaseui:firebase-ui-database:1.0.1' compile 'com.google.firebase:firebase-storage:10.0.0' 

谷歌似乎将这些日子的服务更新与firebase更新一起移动。 希望这可以拯救一些灵魂。

对于我来说,我只是同步了我所有的项目模块以使用最近的播放服务库,并且能够使用这个包。

我在我的build.gradle(所有模块)中使用的:

 compile 'com.android.support:support-v4:23.0.1' compile 'com.android.support:appcompat-v7:23.0.1' compile 'com.google.android.gms:play-services:7.8.0' 

在我使用compile 'com.google.android.gms:play-services:7.5.0'

希望这有助于某人。

对我来说,它取代了工作

编译'com.google.android.gms:play-services-appindexing:9.8.0'

有:

 compile 'com.google.android.gms:play-services:10.0.0'