ho una vecchia applicazione Android "com.example.package" (nome di esempio) normalmente funzionante fino ad Android 9, su Android 10 non l'ho mai provata finora, ma su Android 11 e 12 non funziona più
questa applicazione - al primo avvio dopo l'installazione - richiede il download di dati aggiuntivi nel percorso classico "/storage/emulated/0/Android/data/com.example.package/files/", ma su Android 11 e 12 - durante l'inizio del download dei dati aggiuntivi si ottiene questo errore e il download si interrompe prima di iniziare:
Download stopped
**com.example.androidlib.j: Could not create the directory /storage/emulated/0/Android/data/com.example.package/files/
con l'ultimo ApkTool versione 2.7.0 in java (.jar) (testato anche con l'ultima versione di APK Editor su Android) ho decompilato il file APK, e questo è il file AndroidManifest.xml originale:
<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="com.example.package" platformBuildVersionCode="9" platformBuildVersionName="2.3.1">
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.android.vending.BILLING"/>
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="false" android:xlargeScreens="true"/>
<uses-configuration android:reqTouchScreen="finger"/>
<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/>
<uses-feature android:name="android.hardware.touchscreen.multitouch" android:required="true"/>
<uses-feature android:name="android.hardware.wifi" android:required="false"/>
<application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
<activity android:configChanges="keyboardHidden|orientation" android:label="@string/app_name" android:name=".packageActivity" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity android:configChanges="keyboardHidden|orientation" android:name="com.example.androidlib.MainActivity" android:screenOrientation="landscape"/>
<activity android:configChanges="keyboardHidden|orientation" android:name="com.example.androidlib.LicenseActivity" android:screenOrientation="landscape"/>
<activity android:configChanges="keyboardHidden|orientation" android:name="com.example.androidlib.DownloadActivity" android:screenOrientation="landscape"/>
<activity android:configChanges="keyboardHidden|orientation" android:name="com.example.androidlib.GLExtensionActivity" android:screenOrientation="landscape"/>
</application>
</manifest>
ho provato quindi a risolvere gli eventuali problemi di permessi e versioni build con queste righe:
platformBuildVersionCode="31" platformBuildVersionName="12"
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
e infine ho ricompilato il tutto sempre con lo stesso ApkTool versione 2.7.0 in java (.jar) (testato anche con l'ultima versione di APK Editor su Android)
ma l'errore rimane - e sempre quando prova ad iniziare il download dei dati aggiuntivi
non funziona nemmeno spostando manualmente i dati aggiuntivi nel percorso giusto
l'URL di download dei dati aggiuntivi dal server dello sviluppatore presente in un altro file XML nell'APK esiste ancora ed è ancora online attivo raggiungibile, ma come ulteriore controprova - ho provato a modificare l'URL con uno personalizzato che punta ad un mio hosting su cui ho caricato lo stesso file .zip dei dati aggiuntivi da scaricare, e l'applicazione ugualmente continua a funzionare normalmente su Android 9...
su Android 9 funziona anche se prima del primo lancio vado a spostare manualmente i dati aggiuntivi nel percorso giusto
come posso risolvere su Android 12?!?