Copy file from removable SD card - ASD (Taifun File Extension)

here you can download the APK WeTransfer - Send Large Files & Share Photos Online - Up to 2GB Free

  1. use long press on COPY button
  2. upper text box is for source file
  3. lower test box is for destination file
  4. default is source on external sd card
  5. obviously you can change source and destination path
  6. during installation choose "install in any case"

aia please

DBcopy(MOD).aia (145.0 KB)

  1. create APK with AI2
  2. decompile APK with APK multuitool or similar
  3. replace or modify manifest and apktool.yml
  4. compile ad sign

MANIFEST

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>
<application android:debuggable="false" android:icon="@mipmap/ic_launcher" android:label="DBcopy" android:name="com.google.appinventor.components.runtime.multidex.MultiDexApplication" android:networkSecurityConfig="@xml/network_security_config" android:preserveLegacyExternalStorage="true" android:requestLegacyExternalStorage="true" android:roundIcon="@mipmap/ic_launcher" android:theme="@style/AppTheme">
    <uses-library android:name="org.apache.http.legacy" android:required="false"/>
    <activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize" android:exported="true" android:name=".Screen1" android:windowSoftInputMode="stateHidden">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
    <provider android:authorities="appinventor.ai_MEngeneeringSoft.DBcopy.provider" android:exported="false" android:grantUriPermissions="true" android:name="androidx.core.content.FileProvider">
        <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/>
    </provider>
</application>

apktool.yml

!!brut.androlib.meta.MetaInfo
apkFileName: DBcopy3.apk
compressionType: false
doNotCompress:

  • resources.arsc
  • png
  • jpg
    isFrameworkApk: false
    packageInfo:
    forcedPackageId: '127'
    renameManifestPackage: null
    sdkInfo:
    minSdkVersion: '7'
    targetSdkVersion: '19'
    sharedLibrary: false
    sparseResources: false
    unknownFiles: {}
    usesFramework:
    ids:
    • 1
      tag: null
      version: 2.6.1
      versionInfo:
      versionCode: '1'
      versionName: '1.0'

So what is your question now?
Btw, there is an extension to get the MANAGE_EXTERNL_STORAGE permission (so no need to de/recomplie APK and customize the Manifest.

My questions are :

  • how can I read files (copy from) from ASD on removable SD card ?
  • Is it possible on Android 11+ ?

Anyway I need to customize manifest in order to change other parameters.
Do you tried APK and verified copy files to internal storage anywhere ?

thank you

Copied from ASD on the removable SDcard to what?
The removable SDcard is read-only since API 19 (Android 4.4 / KitKat)

copy files from ASD on removable Sd-card to internal storage
Issue is I can't read file from ASD on removable Sd-card ( /storage/4694-4D13/android/data/appfolder/.. and subfolders)

Ok, as I've shown, this should be possible.
Post the relevant blocks.

I already post blocks.

As I've also shown, you must use a full path.

I cannot check it on Android 11+, because I do not have such advices with a removable SDcard. But I'm pretty sure that it works, if you try to read / copy a file from the app's own ASD.

I think I'm using a full path for the source file :


I need to see the full path here:

But the part of the path is NOT the ASD.

It should look like this:
...Android\data\appinventor.ai_bodymindpower.BluetoothClient_AI2test\files

Please, take a look at the previous screenshots

I used full path, but It is too long to show it on a single screenshoot..............

I think there could be a misunderstanding.
When I wrote "how can I read files (copy from) from ASD on removable SD card ?"
I referred whatever ASD, not ASD of the AI2 app.
In this case ASD folder name is "it.mydev.atrparkcontrol"

1 Like

See my answer in post #6:

And you have also no access at all to other ASDs, regardless of MANAGE_EXT...

... but you can access them with special file manager apps like "Total Commander" for example.

1 Like

And again, the ASD in the (1) external storage & (2) external removable SDcard is:

(1) /storage/emulated/0/Android/data/<packageName>/files/ 
(2) /storage/9C33-6BBD/Android/data/<packageName>/files/ 

This ASD is only accessable for the app itself.
That's why it's called "App-Specific Directory".

1 Like

So, "no access" means no read and write permissions........
I hoped there were possibility to almost have read access on all ASDs through AI2.
Thanks for your support.

The MANAGE_EXTERNAL_STORAGE permission grants the following:

• Read and write access to all files within shared storage.
Note: The /sdcard/Android/media⁠ directory is part of shared storage.
• Access to the contents of the MediaStore.Files table.
• Access to the root directory of both the USB on-the-go (OTG) drive and the SD card.
• Write access to all internal storage directories⁠, except for /Android/data/, /sdcard/Android, and most subdirectories of /sdcard/Android. This write access includes direct file path access.

Apps that are granted this permission still cannot access the app-specific directories that belong to other apps because these directories appear as subdirectories of Android/data/ on a storage volume.

:question: