Recordatorio de los pasos a seguir para actualizar de la SDK 28 a la SDK 32.
NOTA: para poder controlar el acceso a todos los archivos, además hay que poner:
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
En el Manifest. El nuevo Android 11 y superior pone una serie de pegas para el uso del permiso de lectura/escritura de todos los archivos. Sin esto se puede guardat y leere los archivos que crea el programa pero no los de terceros.
ARCHIVO build.gradle:
compileSdkVersion 32
defaultConfig {
applicationId "com.nieto.luis.viga_beam"
minSdkVersion 19
targetSdkVersion 32
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
ARCHIVO gradle.propieties:
android.useAndroidX=true
android.enableJetifier=true
ARCHIVO AndroidManifest.xml dentro de la etiqueta <activity ... > se añade:
android:exported="true"
Cambiar:
<provider
android:name="android.support.v4.content.FileProvider"
por:
<provider
android:name="androidx.core.content.FileProvider"
File>Settings>Build, Exec....>Grandle>>>> GrandleJDK, poner Embedded JDK: Runtime version 11
ARCHIVO Programa.java
import android.support.v4.content.ContextCompat;
Se modifica por:
import androidx.core.content.ContextCompat;
import androidx.core.content.FileProvider;
Después, se le da a "Sync now" y a todo los que pida actualizar se da que sí.