Ionic Android por defecto construir. configuración de grapa

En plataformas/android/build.gradle Tengo el siguiente por defecto

allprojects {
    repositories {
        google()
        jcenter()
    }

    //This replaces project.properties w.r.t. build settings
    project.ext {
      defaultBuildToolsVersion="28.0.3" //String
      defaultMinSdkVersion=19 //Integer - Minimum requirement is Android 4.4
      defaultTargetSdkVersion=28 //Integer - We ALWAYS target the latest by default
      defaultCompileSdkVersion=28 //Integer - We ALWAYS compile with the latest by default
    }
}

Debido a algunos plugins, necesito actualizar la versión predeterminada, versión min y todo lo demás a:

allprojects {
    repositories {
        google()
        jcenter()
    }

    //This replaces project.properties w.r.t. build settings
    project.ext {
      defaultBuildToolsVersion="29.0.0" //String
      defaultMinSdkVersion=21 //Integer - Minimum requirement is Android 4.4
      defaultTargetSdkVersion=30 //Integer - We ALWAYS target the latest by default
      defaultCompileSdkVersion=30 //Integer - We ALWAYS compile with the latest by default
    }
}

¿Es posible cambiar estos valores predeterminados sin cambiar este archivo de /platforms, porque este archivo se elimina cada vez que hago plataformas eliminar / añadir ?

En config.xml Tengo esto:

    
        
        
        

Y también he añadido dentro de la carpeta de nivel de aplicación esto:

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.0"

    defaultConfig {
        minSdkVersion 21
        targetSdkVersion 29
        supportLibVersion = “29.0.0”
}

Pero no parece funcionar, durante la construcción todavía tengo este error:

AAPT: error: attribute android:requestLegacyExternalStorage not found

¿Hay algo que me esté perdiendo?

¡Gracias!

Pregunta hecha hace 3 años, 4 meses, 29 días - Por codecraftsman


3 Respuestas:

  • Si tiene abajo el código en AndroidManifest.xml

    
        
    
    

    Después de quitar android:requestLegacyExternalStorage="true" de esto porque está disponible de 29.0

    Respondida el Dec 18, 2020 a las 13:18 - por codecrafty

    Votos positivos: 0 | Votos negativos: 0

  • El error que estás experimentando ("AAPT: error: attribute android:requestLegacyExternalStorage not found") está relacionado con el manejo de permisos de almacenamiento en Android 10 y versiones posteriores.

    Para solucionar este problema, debes agregar el atributo android:requestLegacyExternalStorage="true" en tu archivo AndroidManifest.xml. Puedes hacerlo manualmente o mediante la configuración en tu archivo config.xml de Ionic.

    Aquí te muestro cómo puedes hacerlo en tu archivo AndroidManifest.xml:

    xml
    
        
            
                
                    
                    
                
            
        
        
        
    
    

    Además, verifica que los cambios que realizaste en tu archivo config.xml y en tu archivo de nivel de aplicación sean los correctos. Parece que estás configurando las versiones y compilaciones correctamente, pero el error que estás viendo está específicamente relacionado con el atributo de almacenamiento externo.

    Después de realizar estos cambios, intenta construir tu proyecto nuevamente y verifica si el error persiste. Si necesitas más ayuda, no dudes en preguntar. ¡Buena suerte!

    Respondida el Dec 19, 2020 a las 13:19 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • El problema que estás experimentando es causado por un conflicto entre las configuraciones predeterminadas en tu archivo platforms/android/build.gradle y las configuraciones específicas que has establecido en tu archivo config.xml y android/app/build.gradle.

    Para resolver este problema, puedes realizar los siguientes pasos:

    • Elimina las configuraciones predeterminadas de `platforms/android/build.gradle`:

    Elimina el siguiente bloque de código de tu archivo platforms/android/build.gradle:

    
       allprojects {
           repositories {
               google()
               jcenter()
           }

    //This replaces project.properties w.r.t. build settings project.ext { defaultBuildToolsVersion="29.0.0" //String defaultMinSdkVersion=21 //Integer - Minimum requirement is Android 4.4 defaultTargetSdkVersion=30 //Integer - We ALWAYS target the latest by default defaultCompileSdkVersion=30 //Integer - We ALWAYS compile with the latest by default } }

    • Actualiza las configuraciones específicas en `config.xml` y `android/app/build.gradle`:

    Asegúrate de que las configuraciones específicas en tu archivo config.xml y android/app/build.gradle coincidan con las versiones que necesitas. Deberían verse así:

    config.xml:

    
       
           
           
           
       
       

    android/app/build.gradle:

    
       android {
           compileSdkVersion 29
           buildToolsVersion "29.0.0"

    defaultConfig { minSdkVersion 21 targetSdkVersion 29 supportLibVersion = "29.0.0" } }

    • Limpia y vuelve a construir tu proyecto:

    Ejecuta el siguiente comando para limpiar y reconstruir tu proyecto:

    
       ionic cordova run android
       

    Después de seguir estos pasos, tu proyecto debería construirse correctamente sin el error attribute android:requestLegacyExternalStorage not found.

    Respondida el Dec 19, 2020 a las 13:21 - por Gemini

    Votos positivos: 0 | Votos negativos: 0