Reputation: 28369
I'm not overly familiar with tar, so, this may be a stupid question, but I have a situation where I want to grab a tarball from the server (preferably compressed, but that's not essential), download it on to the device and untar it.
I'm not seeing any standard library to do this... am I overlooking it, or does it not exist?
[EDIT] I'm attempting to do this in my app by means of some API or library that handles unpacking tars - I'm not looking for an app that un-tars stuff on my device.
Upvotes: 10
Views: 24243
Reputation: 11382
Sorry for reviving an old question.
As of 6.0/Marshmallow, Android includes Toybox, an executable that contains small versions of every utility.
So on 6+ versions of Android, you can execute tar
command as you would on a normal linux system.
As of Q1 2019, 6.0 and higher represent approximately 90% of Android users, so this is more or less safe to do unless you want full support, or are targeting a market with different Android adoption rates.
Upvotes: 3
Reputation: 2022
Noting down another option here,
Library Name : Apache Commons Compress Apache License, Version 2.0
The Apache Commons Compress library defines an API for working with ar, cpio, Unix dump, tar, zip, gzip, XZ, Pack200, bzip2, 7z, arj, lzma, snappy, DEFLATE, lz4, Brotli, Zstandard, DEFLATE64 and Z files.
Example here: Java TAR example – compress and decompress *.tar or *.tar.gz files This demonstrates how to compress files or directories recursively in .tar or .tar.gz format and how to decompress a .tar or .tar.gz file
Upvotes: 2
Reputation: 46856
I don't know if there is support for it built into the OS. But you should be able to use a third party library to do it.
Here is one, I am sure there are others to choose from out there as well.
Upvotes: 4