unity tutorial studio minifyenabled features android proguard

tutorial - com.google.android.gms.internal.zzhu: no puedo encontrar la clase referenciada android.security.NetworkSecurityPolicy



proguard unity (5)

Intenté generar un apk utilizando proguard, pero tengo este error al intentar compilar:

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.

Recientemente, actualicé mis herramientas de Android SDK. Antes de ello, este proyecto no presentaba problemas con el programa. Encontré esta publicación ( https://plus.google.com/+PaulBurke/posts/T3vmAnRP3q6 ) donde Oliver Renner escribió:

"Entonces, básicamente, la próxima biblioteca de Google que puede no actualizarse a la última versión. También parece requerir compileSdk 23 para poder usar ProGuard sin modificaciones (Advertencia: com.google.android.gms.internal.zzhu: puede no se encuentra la clase referenciada android.security.NetworkSecurityPolicy) "*

Actualicé mi proyecto para compilar usando SDK 23, pero el problema no se resolvió.

A continuación, incluí algunas partes de mi archivo 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; } }


Para mí funciona reemplazando

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

con:

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


Para mí, acabo de sincronizar todos los módulos de mi proyecto para usar una biblioteca de servicios de juego reciente y pude usar el paquete.

Lo que uso en mi build.gradle (para todos los módulos):

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

Antes de usar compile ''com.google.android.gms:play-services:7.5.0''

Espero que esto ayude a alguien.


Para mí, parece que esto fue causado en realidad por la inclusión accidental de Google de AdMob en las dependencias de Play Services Analytics 8.1: https://plus.google.com/+GoogleDevelopers/posts/HsSNWEQ6H4e

Si excluyo el módulo play-services-ads en build.gradle , no obtengo el error Proguard con android.security.NetworkSecurityPolicy , y mi versión de lanzamiento se instala y ejecuta sin problemas (anteriormente se estaba fallando al iniciar con java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity , mientras que la compilación de depuración java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity bien):

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

En las reglas de Proguard también necesitas:

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

Gracias a esta publicación por los detalles (aunque no hace referencia a construcciones que fallan, solo tamaño APK): https://medium.com/google-developer-experts/warning-for-google-analytics-users-44b0096084e2#.4b3egtbxh

Aquí está el problema para el proyecto en el que estaba trabajando, que incluye el compromiso que resolvió el problema: https://github.com/OneBusAway/onebusaway-android/issues/342

EDITAR

Los usuarios informan que esto se resolvió en 8.3, lo que significa que podría solucionarlo configurando su build.gradle en:

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

Todavía tengo que confirmarme.


Tuve un error similar cuando estaba actualizando mi dependencia del servicio de juego. Parece que ocurre cuando dejas de actualizar las dependencias de base de fuego que corresponden a la versión de los servicios de juego que utilizas.

Aquí están las dos versiones de mis dependencias:

Versión de error de dependencias

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

Versión de trabajo de dependencias ``

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

`` Google parece mover las actualizaciones del servicio de juego junto con las actualizaciones de firebase en estos días. Espera que esto salve algunas almas por ahí.


Yo tuve el mísmo problema. El mensaje de advertencia dice:

Si su código funciona bien sin las clases faltantes, puede suprimir las advertencias con las opciones ''-dontwarn''.

Así que vamos a tomar su sugerencia:

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

Para mí, esto solucionó el problema. Sin embargo, si por alguna razón su código NO funciona bien sin la clase, puede hacer algo como esto además (no probado):

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

Tenga en cuenta que necesitará la línea -dontwarn de cualquier manera. ¡Buena suerte!