| 7 | } |
| 8 | |
| 9 | function writeFileAsBase64Content(filepath, base64) { |
| 10 | try { |
| 11 | var FileUtilsClz = Java.use("android.os.FileUtils"); |
| 12 | var StringClz = Java.use('java.lang.String'); |
| 13 | var Base64Clz = Java.use("android.util.Base64"); |
| 14 | var ByteArrayInputStreamClz = Java.use("java.io.ByteArrayInputStream"); |
| 15 | var FileOutputStreamClz = Java.use("java.io.FileOutputStream"); |
| 16 | var FileClz = Java.use("java.io.File"); |
| 17 | var distFilepath = FileClz.$new(filepath); |
| 18 | mkdirs(distFilepath.getParent()); |
| 19 | var javaBase64String = StringClz.$new(base64); |
| 20 | var getBytesMehtod = StringClz.getBytes.overload('java.lang.String'); |
| 21 | var bytes = getBytesMehtod.call(javaBase64String, 'UTF-8'); |
| 22 | var decodeMethod = Base64Clz.decode.overload('[B', 'int'); |
| 23 | var originalBinary = decodeMethod.call(Base64Clz, bytes, 0); |
| 24 | var bais = ByteArrayInputStreamClz.$new(originalBinary); |
| 25 | if (FileUtilsClz.copy) { |
| 26 | var copyMehtod = FileUtilsClz.copy.overload('java.io.InputStream', 'java.io.OutputStream'); |
| 27 | var fos = FileOutputStreamClz.$new(distFilepath); |
| 28 | copyMehtod.call(FileUtilsClz, bais, fos); |
| 29 | } else if (FileUtilsClz.copyToFile) { |
| 30 | var copyMehtod = FileUtilsClz.copyToFile.overload('java.io.InputStream', 'java.io.File'); |
| 31 | copyMehtod.call(FileUtilsClz, bais, distFilepath); |
| 32 | } |
| 33 | } catch(err) { |
| 34 | console.warn(err); |
| 35 | } |
| 36 | }; |
| 37 | |
| 38 | function checkFile(filepath, checkLength) { |
| 39 | var FileClz = Java.use("java.io.File"); |