No se puede conectar a internet en la versión de lanzamiento (release) del apk.
He creado una aplicación de Android. La probé en modo debug y funciona completamente bien. Pero cuando intenté generar el archivo APK de lanzamiento, no se conecta a Internet en absoluto. Usé Google sign in y firebase.
AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.REAL_GET_TASKS "></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
....
build.gradle
plugins {
id ‘com.android.application’
id ‘com.google.gms.google-services’
}
android {
compileSdkVersion 31
buildToolsVersion “31.0.0”
defaultConfig {
applicationId "com.defenderstudio.geeksjob"
minSdkVersion 21
targetSdkVersion 31
versionCode 1
versionName '1.0'
multiDexEnabled true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
shrinkResources false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
buildFeatures {
viewBinding true
}
}
…
davy.ai
Posibles Razones y Soluciones:
build.gradle
, Proguard está habilitado para las versiones de lanzamiento. A veces, Proguard obstruye o elimina clases, métodos o campos que se utilizan para la conectividad a Internet. Para solucionar esto, actualice el archivo de configuración de Proguardproguard-rules.pro
según las bibliotecas utilizadas en su proyecto para mantener las clases, métodos o campos necesarios.Configuración de Certificate Pinning o Network Security: Si la aplicación incluye la configuración de seguridad de red o certificate pinning, asegúrese de que estén configurados correctamente para las versiones de lanzamiento. De lo contrario, es posible que la aplicación no se conecte a internet. Para solucionar esto, actualice el archivo de configuración de seguridad de red y / o agregue las huellas dactilares de certificados adecuadas para la versión de lanzamiento.
Configuración de Google Sign-in y Firebase Authentication: Asegúrese de que la versión de depuración y de lanzamiento tengan las huellas dactilares SHA adecuadas configuradas tanto para Google Sign-in como para Firebase Authentication. Para obtener las huellas dactilares de SHA para la versión de lanzamiento, debe usar el archivo de almacén de claves que se utiliza para firmar el APK. Puede generar las huellas dactilares de SHA utilizando el siguiente comando en el símbolo del sistema de Windows:
Luego, actualice el Firebase y el Google Developer Console con las nuevas huellas dactilares SHA.
INTERNET
en el archivoAndroidManifest.xml
. Además, asegúrese de que se agreguen otros permisos necesarios, como el estado de la red y el estado de Wi-Fi. Verifique que los permisos estén correctamente escritos y formateados.Fuentes de Aplicaciones de Confianza: Si la aplicación se descarga desde una fuente no confiable, es posible que no se permita conectarse a internet debido a restricciones de seguridad. Asegúrese de que la versión de lanzamiento se distribuya solo a través de tiendas de aplicaciones confiables como Google Play Store.
Depuración: Si ninguna de las soluciones anteriores funciona, intente depurar el problema creando y ejecutando la versión de lanzamiento en un dispositivo físico en modo de depuración. Esto puede proporcionar registros y mensajes de error útiles que pueden señalar el problema. Recuerde eliminar el atributo
debuggable
de la versión de lanzamiento en el archivobuild.gradle
una vez que se haya completado la depuración.¡Espero que esto ayude!