Skip to main content
edited body
Source Link
Flow
  • 18.5k
  • 16
  • 80
  • 138

The reason is the history of Android: The first generation of Android devices only havehad a small amount of internal storage (around 100-400MiB) thatwhich was mounted under /data.

Next, devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one partition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same partition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on Android 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • /mnt/sdcard/external_sd
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage directory. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

The reason is the history of Android: The first generation of Android devices only have a small amount of internal storage (around 100-400MiB) that was mounted under /data.

Next devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one partition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same partition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on Android 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • /mnt/sdcard/external_sd
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage directory. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

The reason is the history of Android: The first generation of Android devices only had a small amount of internal storage (around 100-400MiB) which was mounted under /data.

Next, devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one partition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same partition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on Android 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • /mnt/sdcard/external_sd
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage directory. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

spelling
Source Link
GAThrawn
  • 22.1k
  • 9
  • 79
  • 127

The reason is the history of Android: The first generation of Android devices only handhave a small amount of internal storage (around 100-400MiB) that was mounted under /data.

Next devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one paritionpartition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same paritionpartition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on AndriodAndroid 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • /mnt/sdcard/external_sd
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage direcotrydirectory. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

The reason is the history of Android: The first generation of Android devices only hand a small amount of internal storage (around 100-400MiB) that was mounted under /data.

Next devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one parition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same parition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on Andriod 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • /mnt/sdcard/external_sd
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage direcotry. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

The reason is the history of Android: The first generation of Android devices only have a small amount of internal storage (around 100-400MiB) that was mounted under /data.

Next devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one partition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same partition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on Android 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • /mnt/sdcard/external_sd
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage directory. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

added mount point related to original question
Source Link

The reason is the history of Android: The first generation of Android devices only hand a small amount of internal storage (around 100-400MiB) that was mounted under /data.

Next devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one parition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same parition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on Andriod 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • /mnt/sdcard/external_sd
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage direcotry. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

The reason is the history of Android: The first generation of Android devices only hand a small amount of internal storage (around 100-400MiB) that was mounted under /data.

Next devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one parition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same parition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on Andriod 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage direcotry. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

The reason is the history of Android: The first generation of Android devices only hand a small amount of internal storage (around 100-400MiB) that was mounted under /data.

Next devices with a, at that time external, SD-card came out. The SD card was mounted under /mnt/sdcard.

After that, devices with large internal storage came on the market. This storage was portioned, because /mnt/sdcard had become the default place for big data chunks from apps, pictures and such. So the Android environment had to have a /data and /mnt/sdcard directory. Therefore one parition was for /data, the other for /mnt/sdcard. This is the reason why you storage space could become low (the /data partition) even if there is plenty of space on /mnt/sdcard.

This situation was improved with Android 3.0: /data and /mnt/sdcard are now pointing to the same parition. Good job Google, that could have been done versions ago. Which is also the reason why app2sd is no more needed on Andriod 3.0 or higher: You would only move the data within the same volume.

Now we come to the answer if your question: Since /mnt/sdcard is already mounted on the internal storage, an external SD-card has to use a different mount point. And this mount point is not specified by Google. It could be

  • /mnt/sdcard/ext_sd
  • /mnt/external
  • /mnt/extSdCard
  • /mnt/sdcard/external_sd
  • etc.

The API call getExternalStorageDirectory() usually points to the internal storage direcotry. This behavior is documented. There are open source projects that provide tools to find the external SD-card directory in a canonical way.

unix-style path notation
Source Link
ce4
  • 14.5k
  • 10
  • 61
  • 106
Loading
Source Link
Flow
  • 18.5k
  • 16
  • 80
  • 138
Loading