Hi all,
I've been trying to create a simple update.zip signed folder for my HTC Hero.
I have read all different "how to" but still face the same error message "Syntax error in update script"
I have copy/paste the following into the update-script
show_progress 0.1 0
copy_dir PACKAGE:system SYSTEM:
set_perm_recursive 0 0 0755 0644 SYSTEM:app
show_progress 0.1 10
i have create 2 folders.
1. system/app (here i have placed my APK)
2. META-INF/com/google/android/update-script
Now, i have made a ZIP file including the 2 folders.
I am using the autosign.bat and i manually select the ZIP file i created.
Everything is going ok, but then i get the Syntax error in update script when i try to run this using Amon Ra's bootloader.
Any suggestion or ideas?
I did it!!!
The problem was the extra " " space i had on the last script line!
Now, it works!
Another question. Is there a way to sign zip files on OS X?
Can you point me on the right direction pls?
In the interface for reading books, you can highlight a word or set of words, then attach a note to that.
The notes are limited to 512 characters, but you can have an unlimited number of notes for a book. I currently work around the limit by highlighting a word, writing the note, then highlighting the next word and continuing the note.
Is there a way to remove the limit of 512 characters, or increase it to a very large number? My nook is fully rooted, so I imagine it is a simple config file or sqlite entry somewhere, but I don't know where to look.
I determined that the 512 character limit is hard coded into the Reader.apk app. I modified the app to increase the limit to 8192 characters (16 times as much) and have posted the details below.
Attached is the apk for the updated app. To install it, you must first uninstall the old reader.apk as this one is signed using a different key.
For those who wish to make the changes themselves, the following are the steps needed.
Pre-requisites
Nook must be rooted (obviously)
Android SDK must be installed. Link to sdk download page
APKTool must be installed. Link to APKTool download page
Install the Nook framework file. This is needed to properly recompile the apk later.
Code:
adb pull /system/framework/framework-res.apk
Code:
apktool if framework-res.apk
Copy the original Reader.apk file into the current directory.
Code:
adb pull /system/app/Reader.apk
Decompile the apk file using apktool
Code:
apktool d Reader.apk
Make the changes needed
Modify the AndroidManifest.xml file. Remove the "sharedUserId" flag.
Change this
HTML:
<manifest android:sharedUserId="android.media" android:versionCode="1" android:versionName="1.0" package="com.bn.nook.reader.activities"
xmlns:android="http://schemas.android.com/apk/res/android">
to this
HTML:
<manifest android:versionCode="1" android:versionName="1.0" package="com.bn.nook.reader.activities"
xmlns:android="http://schemas.android.com/apk/res/android">
Modify the following files. Search for "0x200" and replace it with "0x2000" (ie add a zero; this will multiply max size by 16):
Reader/smali/com/bn/nook/reader/ui/AddNoteView$1.smali
Reader/smali/com/bn/nook/reader/commonui/ReaderCommonUIConstants.smali
Modify the following file. Search for "512" and replace it with "8192" (the decimal equivalent of hex 0x2000)
Reader/res/layout/add_note_layout.xml
Recompile the source code into a new apk.
Code:
apktool b Reader ReaderUnsigned.apk
Create a signing key; Skip this step if you have created one already. Note: keytool is located in the Android SDK->Tools folder.
Code:
keytool -genkey -v keystore myAndroidKey.keystore -alias myAndroidKeyAlias -keyalg RSA -validity 10000
Sign your new apk.
Code:
jarsigner -verbose -keystore myAndroidKey.keystore ./ReaderUnsigned.apk myAndroidKeyAlias
Use zipalign (also in sdk->tools) to align your apk.
Code:
zipalign -v 4 ReaderUnsigned.apk ReaderSigned.apk
Rename the system reader.apk file to uninstall/backup the apk.
Code:
adb shell mv /system/app/Reader.apk /system/app/Reader.apk.bak
Remove any entries of the previous Reader.apk signing key from the "/data/system/packages.xml" file.
Pull the packages.xml file.
Code:
adb pull /data/system/packages.xml
Edit the packages.xml file. Search for "com.bn.nook.reader". Remove this entire tag:
HTML:
<package name="com.bn.nook.reader" ...>...</package>
Push the packages.xml file back.
Code:
adb push packages.xml /data/system/packages.xml
Install your new app and enjoy the larger note sizes!
Code:
adb install ReaderSigned.apk
Hi,
2nd time trying to root but still some message about can't reate, start and failed to copy. Full results below also. I've use the files and methods heree:
http://forum.xda-developers.com/showpost.php?p=48709232&postcount=869
http://forum.xda-developers.com/newreply.php?do=newreply&noquote=1&p=45693809&nocache=1
Mounting system, pushing su binary and installing SuperSu...
2244 KB/s (1085140 bytes in 0.472s)
cp: can't create '/system/xbin/busybox': Read-only file system
failed to copy 'su' to '/system/xbin/daemonsu': Read-only file system
cp: can't stat '/system/xbin/daemonsu': No such file or directory
failed to copy 'install-recovery.sh' to '/system/etc/install-recovery.sh': Read-
only file system
failed to copy 'Superuser.apk' to '/system/app/Superuser.apk': Read-only file sy
stem
Unable to open /system/xbin/su: No such file or directory
Rebooting Phone.
***************************************************
***************************************************
You should hopefully now be fully rooted!!
Wait for your device to reboot and continue
with ioroot script to backup EFS...
***************************************************
***************************************************
/sdcard/modemst1.img: cannot open for write: Read-only file system
/sdcard/modemst2.img: cannot open for write: Read-only file system
remote object '/sdcard/modemst1.img' does not exist
remote object '/sdcard/modemst2.img' does not exist
++++++++++++++++++++++++++++++++++++++++FULL RESULT START+++++++++++++++++++++++++++
======adbd is already running as root
uid=0(root) gid=0(root) context=u:r:shell:s0
If you do NOT see uid=0(root) gid=0(root) above then
it is likely your device firmware is not supported or
USB mode was not toggled properly. You can try to
run the script again.
Press CTRL+c to stop this script...
If you DO see uid=0(root) gid=0(root) mentioned above...
CONGRATS.. Rooted ADB is now confirmed.
You will have a rooted ADB shell but no apps on the
phone will
'be' is not recognized as an internal or external command,
operable program or batch file.
PRESS ENTER to continue with full root.
PLEASE NOTE!
Continuing with full root can trip LG's rootchecker.
This means your phone will show ROOTED in Download mode.
You can remove root flag by flashing stock firmware...
.bin .tot or .kdz
If you do not want to possibly invalidate your warranty
press CTRL+c to stop this script...
*******************************************************
Press any key to continue . . .
Mounting system, pushing su binary and installing SuperSu...
2244 KB/s (1085140 bytes in 0.472s)
cp: can't create '/system/xbin/busybox': Read-only file system
failed to copy 'su' to '/system/xbin/daemonsu': Read-only file system
cp: can't stat '/system/xbin/daemonsu': No such file or directory
failed to copy 'install-recovery.sh' to '/system/etc/install-recovery.sh': Read-
only file system
failed to copy 'Superuser.apk' to '/system/app/Superuser.apk': Read-only file sy
stem
Unable to open /system/xbin/su: No such file or directory
Rebooting Phone.
***************************************************
***************************************************
You should hopefully now be fully rooted!!
Wait for your device to reboot and continue
with ioroot script to backup EFS...
***************************************************
***************************************************
/sdcard/modemst1.img: cannot open for write: Read-only file system
/sdcard/modemst2.img: cannot open for write: Read-only file system
remote object '/sdcard/modemst1.img' does not exist
remote object '/sdcard/modemst2.img' does not exist
***************************************************
***************************************************
EFS partitions now in ioroot folder on computer...
They are named modemst1.img and modemst2.img
They will come in handy in case of an emergency.
Store them somewhere you won't lose them.
IOroot is now complete.
***************************************************
***************************************************
Press any key to continue . . .
++++++++++++++++++++++FULL RESULT END++++++++++++++++++++
Same problem here, no solution yet.
LG G2 root
Hello guys,
is there any solution for this? I have same issue
Thank you
THIS GUIDE HAS BEEN TESTED ON KITKAT, MARSHMALLOW AND NOUGAT
When you have a system app with an odex file like bluetooth.apk and bluetooth.odex you can't use apktool for decompile and there is no need for deodex the whole ROM, follow this guide to decompile and mod one of these apps and nothing else.
REQUIREMENTS
- Be root
- platform-tools folder : lastest version download
- Java installed
- Files: baksmali.jar, smali.jar and zipalign.exe.
SET UP
- Make a folder named "Baksmali" and place these files: baksmali.jar, smali.jar, zipaling.exe, the apk and it's odex file
- Place the platform-tools folder in Baksmali folder and rename it to framework.
- Make sure the files are named baksmali.jar and smali.jar for simplicity , not baksmali-somenumber.jar. This is optional but keep in mind that in the commands i will assume these files are named like that so if you don't you'll have to replace with their real names like baksmali-2.0.0.jar
I i attached a zip with the complete Baksmali folder, but keep in mind this folder was created in feb 2016, you may need download manually the latest files to make sure if you got any errors it's not because of outdated versions
DECOMPILE
- Conect your device to the PC
- Go to Backsmali/framework
- Right click + SHIFT on an empty space of the folder and select "open command window here" and write:
adb pull /system/framework/arm/boot.oat boot.oat
For kitkat: adb pull /system/framework
- Go to Baksmali folder
- Right click + SHIFT on an empty space of the folder and select "open command window here" and write this command (replace NAME with the name of your odex file):
java -jar baksmali.jar -x -c boot.oat -d framework NAME.odex -o out
For Kitkat = java -jar baksmali.jar -d framework -x NAME.odex
- The files should be in the "out" folder now created
COMPILE
This way you can create a classes.dex so then you can place it in an apk so the apk is not more dependent of the odex file.
- Again in Baksmali folder Right click + SHIFT and select "open command window here":
java -jar smali.jar -o classes.dex out
Now open the APK file with 7zip/winrar and drag the file classes.dex, confirm and exit.
write this command:
zipalign -v 4 apk.apk new_apk.apk
apk: name of the apk we just added classes.dex file
new_apk: apk generated by zipaling, ready to use in the device
PLACE APP IN THE DEVICE
Rename the new_apk to the original name, and with a root explorer place it in system/app with permisions rw-r-r, remember deleting the odex file in that folder.
Update Marhsmallow: Delete the folder APKNAME in system/app and paste the apk in with permisions rw-r-r
If when you open the app crashes always try rebooting
Hello
Thank you for your guide.
I am trying to decompile the Settings.apk in order to solve some translations issues in a flash-able ROM.
In the priv-app/Settings folder there is a Settings.odex file, so i tried to follow your guide to decompile the whole thing.
The following command gives me an error, i think there is some version mismatch here:
java -jar baksmali-2.1.0.jar -d framework -x Settings.odex
Exception in thread "main" org.jf.dexlib2.DexFileFactory$UnsupportedOatVersionException: Unsupported oat version: 39
at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:147)
at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:78)
at org.jf.baksmali.main.main(main.java:266)
I am copying the needed files (framework, Settings.odex/apk) from the Zip ROM, not from the phone, i guess this isnt an issue right?
luismpc said:
Hello
Thank you for your guide.
I am trying to decompile the Settings.apk in order to solve some translations issues in a flash-able ROM.
In the priv-app/Settings folder there is a Settings.odex file, so i tried to follow your guide to decompile the whole thing.
The following command gives me an error, i think there is some version mismatch here:
java -jar baksmali-2.1.0.jar -d framework -x Settings.odex
Exception in thread "main" org.jf.dexlib2.DexFileFactory$UnsupportedOatVersionException: Unsupported oat version: 39
at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:147)
at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:78)
at org.jf.baksmali.main.main(main.java:266)
I am copying the needed files (framework, Settings.odex/apk) from the Zip ROM, not from the phone, i guess this isnt an issue right?
Click to expand...
Click to collapse
Idk maybe you should try adb pull to extract the framework from the phone, also the last versión of baksmali is 2.1.1 you got them all here.
The folder i share has the lastest versión of both.
Note Im not a dev, i made this step by step guide because i dind't find in google something clear about it and took me a long time to make it work.
I followed this guide here and i was able to decompile my file, thanks
luismpc said:
Hello
Thank you for your guide.
I am trying to decompile the Settings.apk in order to solve some translations issues in a flash-able ROM.
In the priv-app/Settings folder there is a Settings.odex file, so i tried to follow your guide to decompile the whole thing.
The following command gives me an error, i think there is some version mismatch here:
java -jar baksmali-2.1.0.jar -d framework -x Settings.odex
Exception in thread "main" org.jf.dexlib2.DexFileFactory$UnsupportedOatVersionException: Unsupported oat version: 39
at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:147)
at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:78)
at org.jf.baksmali.main.main(main.java:266)
I am copying the needed files (framework, Settings.odex/apk) from the Zip ROM, not from the phone, i guess this isnt an issue right?
Click to expand...
Click to collapse
The guide worked on KitKat, now is updated to work on Marhsmallow, you can use the new method maybe also works on Lollipop...
This guide worked wonderfully for me. I was able to decompile and recompile a system apk for Marshmallow. Thank you!
Is there a way to convert the smali files to java for Marshmallow apks (dex2jar)?
Everything worked great up until the compile part. I got an error saying "mismatched d input '' expecting END_METHOD_DIRECTIVE"
See photo attached. Anyone have any idea how to fix this so I can compile a classes.dex for my SystemUI?
Also, I just upgraded to Android N if that makes a difference...
I tried for a Marshmallow file and get this error, also I did update smali and baksmali to the latest files;
Code:
C:\Baksmali>java -jar baksmali.jar -x -c boot.oat -d framework LGSystemUI.odex -o out
Exception in thread "main" com.beust.jcommander.ParameterException: Unknown option: -x
at com.beust.jcommander.JCommander.parseValues(JCommander.java:742)
at com.beust.jcommander.JCommander.parse(JCommander.java:282)
at com.beust.jcommander.JCommander.parse(JCommander.java:265)
at org.jf.baksmali.Main.main(Main.java:90)
Thanks
Good guide. Also working in 7.1.1
neo4uo said:
I tried for a Marshmallow file and get this error, also I did update smali and baksmali to the latest files;
Code:
C:\Baksmali>java -jar baksmali.jar -x -c boot.oat -d framework LGSystemUI.odex -o out
Exception in thread "main" com.beust.jcommander.ParameterException: Unknown option: -x
at com.beust.jcommander.JCommander.parseValues(JCommander.java:742)
at com.beust.jcommander.JCommander.parse(JCommander.java:282)
at com.beust.jcommander.JCommander.parse(JCommander.java:265)
at org.jf.baksmali.Main.main(Main.java:90)
Thanks
Click to expand...
Click to collapse
you don't need the "-x" for baksmail, just "x"
Code:
java -jar baksmali.jar x -c boot.oat -d framework LGSystemUI.odex -o out
you don't need the "-x" for baksmail, just "x"
Click to expand...
Click to collapse
Thanks a lot, it worked for me. I am using version 2.2.0.
However, while executing "java -jar smali.jar -o classes.dex out" command I get following error. Please suggest the necessary correction.
C:\Users\Sandip\Desktop\New folder\Baksmali>java -jar smali.jar -o classes.dex out
Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a command, got -o
at com.beust.jcommander.JCommander.parseValues(JCommander.java:725)
at com.beust.jcommander.JCommander.parse(JCommander.java:304)
at com.beust.jcommander.JCommander.parse(JCommander.java:287)
at org.jf.smali.Main.main(Main.java:87)
C:\Users\Sandip\Desktop\New folder\Baksmali>
Figured it out from here..... https://github.com/JesusFreke/smali/wiki/SmaliBaksmali2.2
Ok. I did everything worked. However, when I try with my SystemUI, I notice additional file inside a folder (lib/arm/libNaturalEffect.so) which I assume system animation effect separated from the system (indication of modifiable).
So, do I need to keep the folder and place recompiled SystemUI.apk inside it, or else?
In case anyone has this same error...
San.Dip said:
Thanks a lot, it worked for me. I am using version 2.2.0.
However, while executing "java -jar smali.jar -o classes.dex out" command I get following error. Please suggest the necessary correction.
C:\Users\Sandip\Desktop\New folder\Baksmali>java -jar smali.jar -o classes.dex out
Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a command, got -o
at com.beust.jcommander.JCommander.parseValues(JCommander.java:725)
at com.beust.jcommander.JCommander.parse(JCommander.java:304)
at com.beust.jcommander.JCommander.parse(JCommander.java:287)
at org.jf.smali.Main.main(Main.java:87)
C:\Users\Sandip\Desktop\New folder\Baksmali>
Click to expand...
Click to collapse
I had this same error, and here is the solution I found that worked:
java -jar smali.jar assemble out -o classes.dex
I know that SanDip left the link on where he figured out how to fix it, but it wasn't immediately obvious to me what the fix was after I visited the link. Hope this helps someone!
dnnz said:
THIS GUIDE HAS BEEN TESTED ON KITKAT, MARSHMALLOW AND NOUGAT
Click to expand...
Click to collapse
I try to use this guide for Lollipop 5.1.1. boot.oat created succesfully:
Code:
d:\Baksmali\framework>adb pull /system/framework/arm/boot.oat boot.oat
/system/framework/arm/boot.oat: 1 file pulled. 4.8 MB/s (54336860 bytes in 10.858s)
and everything is ok until following command:
Code:
d:\Baksmali>java -jar baksmali.jar -x -c boot.oat -d framework DownloadProviderUi.odex -o out
Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a command, got -x
at com.beust.jcommander.JCommander.parseValues(JCommander.java:725)
at com.beust.jcommander.JCommander.parse(JCommander.java:304)
at com.beust.jcommander.JCommander.parse(JCommander.java:287)
at org.jf.baksmali.Main.main(Main.java:90)
I can't find new files. I even can't find "out" folder. Where should it be? I'm newbie, this guide noob friendly - I hope you can help me. I have 2 apps: each have apk and odex files. I need to deodex this apps.
Xperiarmus said:
Code:
d:\Baksmali>java -jar baksmali.jar -x -c boot.oat -d framework DownloadProviderUi.odex -o out
Exception in thread "main" com.beust.jcommander.MissingCommandException: Expected a command, got -x
at com.beust.jcommander.JCommander.parseValues(JCommander.java:725)
at com.beust.jcommander.JCommander.parse(JCommander.java:304)
at com.beust.jcommander.JCommander.parse(JCommander.java:287)
at org.jf.baksmali.Main.main(Main.java:90)
Click to expand...
Click to collapse
Try executing without the dash before the command, like this: java -jar baksmali.jar x -c boot.oat -d framework DownloadProviderUi.odex -o out
---------- Post added at 03:39 PM ---------- Previous post was at 03:32 PM ----------
I'm also trying to use baksmali (v2.2.2) to decode odex files, without success so far. I'm launching the command:
sudo java -jar baksmali.jar x -c framework/arm/boot.oat -d framework/ Messages.odex -o out/
and I get the error below:
Code:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1890058312
at org.jf.dexlib2.dexbacked.BaseDexBuffer.readSmallUint(BaseDexBuffer.java:53)
at org.jf.dexlib2.dexbacked.OatFile$DexEntryIterator.next(OatFile.java:579)
at org.jf.dexlib2.dexbacked.OatFile$DexEntryIterator.next(OatFile.java:570)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at org.jf.util.AbstractForwardSequentialList$1.next(AbstractForwardSequentialList.java:91)
at java.util.AbstractSequentialList.get(AbstractSequentialList.java:88)
at org.jf.dexlib2.DexFileFactory.loadDexFile(DexFileFactory.java:129)
at org.jf.baksmali.DexInputCommand.loadDexFile(DexInputCommand.java:144)
at org.jf.baksmali.DisassembleCommand.run(DisassembleCommand.java:161)
at org.jf.baksmali.Main.main(Main.java:102)
Anyone having this issue as well? Adding -Xmx5000m option to the java command does not work.
I have just reinstalled stk.apk into pixelized OS for SMT-23
dnnz said:
THIS GUIDE HAS BEEN TESTED ON KITKAT, MARSHMALLOW AND NOUGAT
When you have a system app with an odex file like bluetooth.apk and bluetooth.odex you can't use apktool for decompile and there is no need for deodex the whole ROM, follow this guide to decompile and mod one of these apps and nothing else.
thank you very much sir, i almost reverted back to my old OS since custom OS did not have a sim card menu. omst epople since dont know abou this since i really had to search for this/.
Click to expand...
Click to collapse
To I tried to test it on the HiddenMenu.apk but am getting errors of missing "embedded dex file"
(I am on Android 8.0.0)
Code:
java -jar baksmali.jar x -c boot.oat -d framework HiddenMenu.odex -o out
Exception in thread "main" org.jf.dexlib2.DexFileFactory$DexFileNotFoundException: Could not locate the embedded dex file /system/app/HiddenMenu/HiddenMenu.apk. Is the vdex file missing?
at org.jf.dexlib2.dexbacked.OatFile$OatDexEntry.getDexFile(OatFile.java:586)
at org.jf.dexlib2.dexbacked.OatFile$OatDexEntry.getDexFile(OatFile.java:567)
at org.jf.baksmali.DexInputCommand.loadDexFile(DexInputCommand.java:158)
at org.jf.baksmali.DisassembleCommand.run(DisassembleCommand.java:162)
at org.jf.baksmali.Main.main(Main.java:102)
Caused by: org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile: Not a valid dex magic value: 7f 45 4c 46 02 01 01 03
at org.jf.dexlib2.util.DexUtil.verifyDexHeader(DexUtil.java:93)
at org.jf.dexlib2.dexbacked.OatFile$OatDexEntry.getDexFile(OatFile.java:583)
... 4 more
To try to solve the above problem, I tried to reconstruct the path structure as on the device (I adb pulled the complete \system\framework dir from the device), without success:
Code:
java -jar baksmali.jar x -c boot.oat -d framework .\system\app\HiddenMenu\oat\arm64\HiddenMenu.odex -o out
Error occurred while loading class path files. Aborting.
org.jf.dexlib2.DexFileFactory$DexFileNotFoundException: Could not locate the embedded dex file /system/framework/core-oj.jar. Is the vdex file missing?
at org.jf.dexlib2.dexbacked.OatFile$OatDexEntry.getDexFile(OatFile.java:586)
at org.jf.dexlib2.dexbacked.OatFile$OatDexEntry.getDexFile(OatFile.java:567)
at org.jf.dexlib2.analysis.PathEntryLoader.loadEntry(PathEntryLoader.java:62)
at org.jf.dexlib2.analysis.ClassPathResolver.loadLocalOrDeviceBootClassPathEntry(ClassPathResolver.java:197)
at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:89)
at org.jf.dexlib2.analysis.ClassPathResolver.<init>(ClassPathResolver.java:154)
at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:134)
at org.jf.baksmali.AnalysisArguments.loadClassPathForDexFile(AnalysisArguments.java:89)
at org.jf.baksmali.DisassembleCommand.getOptions(DisassembleCommand.java:209)
at org.jf.baksmali.DeodexCommand.getOptions(DeodexCommand.java:71)
at org.jf.baksmali.DisassembleCommand.run(DisassembleCommand.java:183)
at org.jf.baksmali.Main.main(Main.java:102)
Caused by: org.jf.dexlib2.dexbacked.DexBackedDexFile$NotADexFile: Not a valid dex magic value: 7f 45 4c 46 01 01 01 03
at org.jf.dexlib2.util.DexUtil.verifyDexHeader(DexUtil.java:93)
at org.jf.dexlib2.dexbacked.OatFile$OatDexEntry.getDexFile(OatFile.java:583)
... 11 more
OK, So I'm developing this app Specifically for CyanogenMod that Copies a few apps and Sound Libraries to a few Different folders in /System. After the Files download into a folder in the Internal Storage of the Device (An LG L90 running CyanogenMod 13), /SDCard/CmSoundMod, it extracts all the zip files into /SDCard/CmSoundMod/unzipped/*Library Name Goes Here*/ with a separate folder for each Library. I'm trying to copy an example file from /SDCard/CmSoundMod/unzipped/SystemFiles/sample.txt to /System to test it out but All the Methods I know are not working! Ive tried using
Code:
Process p = Runtime.getRuntime().exec("su", "cp -r sdcard/CmSoundMod/unzipped/SystemFiles/sample text /System");
(I mounted System RW, and Remounted RO when finished this is just the main code used for copying)
Can some one point me to a piece of code that works for them? (Java)
Thanks!
try with this:
Code:
Process p = Runtime.getRuntime().exec("su", "cp -r sdcard/CmSoundMod/unzipped/SystemFiles/sample[color=red]\[/color] text /System");
the android terminal is based on the Unix terminal. and in a Unix terminal the space in the name of file or folders is not recognized, you need to replace it with "\ ".
sorry I made a mistake:
Java does not recognize the back Slash then you replace '\' by:
Code:
\\
I try on my device me it works!
Code:
Process p = Runtime.getRuntime().exec("su", "cp -r sdcard/CmSoundMod/unzipped/SystemFiles/sample[color=red][b]\\[/b][/color] text/System");