I found the location where the downloaded themes from the theme app are stored.
These are stored in a folder named .AsusTheme in root of internal storage.
Can anyone find a way to modify those zips to make 3rd party themes work?
After last firmware update , we are be able to using 3rd party themes anymore
It looks like you might be able to replace the zip file contained within. But you'd need the theme you want to replace it with made into a zip file as well. So META-INF folder and all the various apks, jsons and previews.
ASUS Theme App now supports it. Nice >
http://forum.xda-developers.com/zenfone2/general/3rd-party-themes-t3322516
So far I he checked the files, maybe it will help somebody:
this is the file that gets updated when you add/remove themes.
/data/data/com.asus.themeapp/databases/ThemeDatabase.db
It is SQLite database which has a table: downloaded_list that contains three columns:
package_name | size | last_modified
the data looks like:
com.asus.themes.th02111615007 | 3943230 | 1456314579000
In SDCARD there is a folder ".AsusTheme\themes" where stay your downloaded themes :
for example we have com.asus.themes.th02111615007.zip there, so:
In database we get com.asus.themes.th02111615007 as package_name
3943230 is equal to its size in bytes which is 3.75 MB (3,943,230 bytes)
And the last one is UNIX timestamp but three last zeroes should be removed.
http://www.onlineconversion.com/unix_time.htm
1456314579000 > 1456314579 > Wed, 24 Feb 2016 11:49:39 GMT
If you delete the ThemeDatabase.db it get created from scratch and your downloaded themes don't show there.
What I've found out:
You can see themes zip files from android file explorer but if you connect it via usb the directory looks empty for Windows.
If you copy the file/pack it or do anything that you can make it visible and copy back ThemeManager will mark that file as corrupted.
It somehow checks the timestamp and its size vs. existing themes database online or offline, no idea.
What I managed to achieve.
If I change modified date on zip file and keep old timestamp in database = corrupted theme file.
Both must be equal.
Same applies to size.
Howerver I believe it also checks if zip file is signed by their ASUS certificate.
But for that I need to sign theme zip file somehow, and I don't know for sure how to do it.
Not sure If I've explained it right, just got some time to drop my idea here.
TL, DR:
1. Theme Manager checks file name,size, modified date of theme.zip vs its entry in database ThemeDatabase.db
2. It also probably checks if it is signed with ASUS certificate.
First can be fixed easily.
Second is an issue.
Shaliuno said:
ASUS Theme App now supports it. Nice >
http://forum.xda-developers.com/zenfone2/general/3rd-party-themes-t3322516
So far I he checked the files, maybe it will help somebody:
this is the file that gets updated when you add/remove themes.
/data/data/com.asus.themeapp/databases/ThemeDatabase.db
It is SQLite database which has a table: downloaded_list that contains three columns:
package_name | size | last_modified
the data looks like:
com.asus.themes.th02111615007 | 3943230 | 1456314579000
In SDCARD there is a folder ".AsusTheme\themes" where stay your downloaded themes :
for example we have com.asus.themes.th02111615007.zip there, so:
In database we get com.asus.themes.th02111615007 as package_name
3943230 is equal to its size in bytes which is 3.75 MB (3,943,230 bytes)
And the last one is UNIX timestamp but three last zeroes should be removed.
http://www.onlineconversion.com/unix_time.htm
1456314579000 > 1456314579 > Wed, 24 Feb 2016 11:49:39 GMT
If you delete the ThemeDatabase.db it get created from scratch and your downloaded themes don't show there.
What I've found out:
You can see themes zip files from android file explorer but if you connect it via usb the directory looks empty for Windows.
If you copy the file/pack it or do anything that you can make it visible and copy back ThemeManager will mark that file as corrupted.
It somehow checks the timestamp and its size vs. existing themes database online or offline, no idea.
What I managed to achieve.
If I change modified date on zip file and keep old timestamp in database = corrupted theme file.
Both must be equal.
Same applies to size.
Howerver I believe it also checks if zip file is signed by their ASUS certificate.
But for that I need to sign theme zip file somehow, and I don't know for sure how to do it.
Not sure If I've explained it right, just got some time to drop my idea here.
TL, DR:
1. Theme Manager checks file name,size, modified date of theme.zip vs its entry in database ThemeDatabase.db
2. It also probably checks if it is signed with ASUS certificate.
First can be fixed easily.
Second is an issue.
Click to expand...
Click to collapse
Is there an xml file in the ThemeDatabade.db that we can edit the script by removing the lines telling it to check for said certification?
Related
Just wanted to create a Post so people can bounce ideas off each other as to what would be necessary to change themes on the fly. How does a normal phone change themes?
i just have a folder on my SD card called themes and i update it everyday with everytheme and the latest version of each, the themes folder has all my themes separated into adp1 adp1.1 rc30 and rc33 and i use linda file manager to move them to the root and rename them. i can flash any theme anytime i want. and if a new one comes out while i'm not near a computer i download with steel and try it out.this is the best way as far as i can see, at least with the tools i have access too
anyone seen the iphone emulator? it actually works where it will open a program associated with the icon, could that possibly help get a way to theme similar to how summerboard works?
jdwme said:
anyone seen the iphone emulator? it actually works where it will open a program associated with the icon, could that possibly help get a way to theme similar to how summerboard works?
Click to expand...
Click to collapse
That's not even close to being a theme though.
A proper theme is more than just smoe icons.
IE. iKid has a much nicer looking media player.
i use the exact same method w the themes on sdcard... i take it one step further... i use andftp to upload to my qctx.org server and upload directly tested themes... so i can access and organize however i need
- great for backing up sdcards
This is how I edit my themes on the fly
Walkthrough for creating your own Android theme
First you need to get signing setup properly. This topic is covered in many places and my recommendation is to use the Stericson walkthrough or the Stericson auto-signing setup tool. Once you can click on any zip or apk file and get the option to Resign it you are ready to proceed with making your own theme.
1. Download an archive manager that allows you to open archives inside of archives without creating new windows. My recommendation for this is the application 7-zip. It is tiny, free, easy to use, and on all my computers it has replaced winzip and winrar.
2. Now take a blank theme from Stericson to use as your starting point, this will be the minimum needed to change your theme and will contain all the original artwork.
3. Open the update.zip and inside are typically 3 files, framework, system or app, and META-INF. Leave META-INF alone, you wont be touching that. Inside framework and system/app is where the files are that you can change. In this case we will open update.zip, then double click framework and then double click framework-res.apk (this is where the next archive will open inside the same window, your life just got a little easier).
4. Now you are looking at assets, META-INF, res, and a couple other random files, the resources.arsc can be edited but I will show you that in another tutorial. Now open up the folder res and you will see the treasure we are searching for, folders with the name drawable. All of the folders that start with the name drawable are where we can edit the themes, this includes drawable, drawable-land, drawable-port, and drawable-finger.
5. Now drag and drop the folders drawable and drawable-land onto the desktop. Once they are on the desktop you can edit the .png files in those folders until you are ready to put your theme together.
6. Now in your still open window at \framework\framework-res.apk\res\ you will open the drawable folders one at a time and drag and drop your edited files into the archive, only dragging and dropping the files you edited and not just everything inside the folder.
7. Once you have your new images copied into the archive in the correct place you can just hit the close button or browse up a couple directories and find other files to edit. Any time you edit an apk and browse out of it or close it you will be prompted to update it in the archive by 7-zip (this is my secret shortcut), always press ok.
8. Now you have a freshly created theme ready to install, all you have to do is right click, chose to Resign the file, and once its done you can copy it to your SDcard, make sure its named update.zip, and flash your new theme.
Its literally that easy! And you use this same technique in the system/app folder to edit the apk files for the individual apps on the phone. Explore around in the update.zip and see what you can find, I only told you about the major items but there is plenty more to find and change. You can always copy a folder out of the archive and if you cant edit anything just toss it but if you can find something to edit, do so and throw it back in the archive. You guys now have all the info I had when I started plus all my tricks to making that process 10x easier.
jdwme said:
anyone seen the iphone emulator? it actually works where it will open a program associated with the icon, could that possibly help get a way to theme similar to how summerboard works?
Click to expand...
Click to collapse
The thing with the iPhone is that the applications are just folders with a .app extension at the end. This allows one to easily replace resources inside of them using just simple scripts.
In Android, the applications are zip files with an extension of .apk and must be signed. This makes it harder to replace resources on the fly.
I use the Discover App from the MarketPlace. I have a folder called Themes in my SD Card which I have separate folders labeled with the name of the theme. Inside the folder I have the update.zip. With discover I just move the update zips in and out of the folders to change themes.
Rich
Any ideas how to remove folders? For instance here somewhere:
SystemFS\Osp\test
Such an folder I can create for instance with PSAS.
Other Tool for folder creation should be Broker.exe from SDK... I will attach soon in other Thread as for install Apps via Cable...
Best Regards
It seems folder User is not so protected...
I can create and remove folder in User... with PSAS 1.15
I created test folder in Osp...
Osp/1234567
PSAS nor other Filemanager can remove/delete as protected. BUT we can do this with Multiloader and *.pfs files.
Debug/PfsDeleteList.txt
Here you can edit files/folder to remove them.
More details:
http://forum.xda-developers.com/showpost.php?p=10618380&postcount=42
Under progress. I used other *.pfs ... 20 MB... but successfully.
Best Regards
I've created template + example for 1024 Byte big Debug/PfsDeleteList.txt
With PSAS I've created folder:
Osp\Applications\jnh2vwwny6\Bin\test
Now with PFS_S8500DeleteListExample1KB.pfs in Multiloader I can remove this folder.
WARNING!
At your own risk create Delete List. As you can nuke every system file/folder you wish...
You can check my example via TriX. Seems Header also correct...
MD5 check at End of file is removed.
Best Regards
Code:
FS Image: PFSBIN
Files: 3
Total size: 1.0 KB
Size in image: 16.0 KB
---------------------------
<1.> List Files
<2.> Dump files
<3.> Upload files
<0.> Quit
/Debug
/Debug/PfsDeleteList.txt
/Debug/pfsdummy
This is my first time trying to create a custom boot animation... I think its going to be great if someone would gladly help me out... I can't figure out what has gone wrong with it and why when I restart its just a black screen.. I appreciate everyone who can help me. Thank you... And Thank You XDA... I would upload it directly to xda but the file is too big... so here is the link to whoever wants to help me...
megaupload[dot]com/?d=7NK0BRHR
i noticed and changed alot with it also with the numbering system and still nothing just a black screen...
is it going to the right place some goto (system\customize\resource) some goto (system\media)
whats that ds.store file have never seen that in a evo bootanimation before
both folders are number the same that may make a differance
thing is hugh may want to cut it down maybe split the bigger one in two and remove the smaller and use later as different anime(even after running it through pngoptmizer still over 24.6 mb
hope this helps some
"quoted from pseudoremora"
After creating your bootanimation -- You need to make sure that a couple things have been done correctly for the bootanimation to 1) Work and 2) Be able to be flashed via recovery.
1) To make the bootanimation work
a. Make sure that after creating the animation itself that the .zip you create has NO compression -- (e.g You use "store" mode, instead of "normal" -- both 7zip/Winrar have this feature)
b. Make sure the desc.txt file is properly formatted and has the correct folder names inside the file. Also make sure you have a carriage return (press enter) at the VERY last line of your desc.txt file
c) Make sure the .png filenames are somewhat sequential and organized. (e.g. BootUp001, BootUp002, BootUp003, etc)
2a) To make a flashable package
a. First create a folder to house the bootanimation and you'll also need to explicitly define the folder names that you want the animation to be pushed to. (e.g -- Inside lets say the "MyBootanimation" folder -- you should have three folders; they're names respectively are:: system/customize/resource or system\media
Inside the resource folder is where your newly created bootanimation.zip will go.
2b) To make the package flashable and work in recovery; you'll need a update-script file which should be in a folder called:: META-INF (ALL CAPS); inside that folder should reside, three more folders:: com/google/android/. The update-script file will go INSIDE the android folder.
So, to get this to work, you'll open the "MyBootanimation folder and inside it should reside to folders (system (and it's subfolders); which houses the bootanimation and META-INF (and it's subfolders); which houses the update-script). You need to select both files and zip them up in NORMAL mode, not "store" mode. This will create your new package, which you then need to sign via whatever method you use. I use command line and I'd like not to explain that if I don't have to.
try this(sense base can get asop if thats need)
http://dl.dropbox.com/u/9628638/racecar.zip
dased14 said:
is it going to the right place some goto (system\customize\resource) some goto (system\media)
whats that ds.store file have never seen that in a evo bootanimation before
both folders are number the same that may make a differance
thing is hugh may want to cut it down maybe split the bigger one in two and remove the smaller and use later as different anime(even after running it through pngoptmizer still over 24.6 mb
Click to expand...
Click to collapse
You can also change from png to jpeg. I redid one recently that was 61 mb with pngs, ended up at just over 4 mb with jpegs. Just a thought. And that ds.store, delete it.
Sent from my ADR6300 using XDA App
Hay guys
I am facing some strange issues on my galaxy nexus 4.2.2 unrooted
I have notice that in my phone there is a file name THUMBDATA3-1763508120 in DCIM--->thumbnail folder of size 1.5 GB.
And even after deleting this file no space of my sdcard is released . Means my SDCARD is still showing the same space as before .
and after some time it recreate again with same size when i use camera for some time.
One more thing in my phone I have 9.35 GB of data content but SDCARD is showing 11.5 GB of space out of 13.3 GB
This may help , please confirm
Using a disk space analyzer, I was surprised to see that my Android tablet had 1.03GB of photos. This was odd to me, because I knew there were only a couple of photos on the device.
I pinpointed the problem to thumbnails. These are tiny copies of photos used by some apps to more quickly display pictures. Specifically, the 1GB was being taken up by a thumbnail index file, and I didn't need to lose that 1GB to a function I don't use on the tablet. I erased the file as follows:
1. Open a file manager on Android. I use File Manager from Rhythm Software.
2. Ensure that it can display system or hidden files. This is an option somewhere under Settings. In File Manager, tap Menu > Settings > Show Hidden Files.
3. Navigate to \mnt\sdcard\DCIM\ .thumbnails. By the way, DCIM is the standard name for the folder that holds photographs, and is the standard for pretty much any device, whether smartphone or camera; it is short for "digital camera IMages." Another BTW: when a folder name is prefixed with a period, then it is a hidden folder in Android (such as .thumbnails).
4. Select and erase the file that's about 1GB and contains the word 'thumbdata." The exact file name will vary.
After I did this, image viewing apps like Gallery operated just fine, with no apparent slowdown from the loss of this file.
In this way I freed up 1GB on my Android v4 tablet, 1GB on my Android v4 phone, and 750MB on an older Android v2 phone.
Keeping the 1GB Free
Because .thumbdata is a system file, Android recreates it. Indeed, you may find more than one copy in the .thumbnails folder, if you have reinstalled Android or similarly redid the system in some way.
To keep Android from creating the 1GB file anew, we need to create a dummy file that fools Android. In short, we create a text file with a text editor, and then move it to the thumbnails folder. Here are the steps to doing this:
1. Use File Manager to determine the exact name of the thumbnail index file. On one of my Android devices, the name is .thumbdata3--1967290299. Write it down.
2. Start a text editor or word processor on the Android, and then create a new text file.
3. Use the Save As command to save the file in the DCIM folder. (We move it to the .thumbnails folder in a later step.) Save it with the same name at that index file, such as ".thumbdata3--1967290299". Now, depending on the text editor's capabilities, it might not allow the "." prefix or a blank extension. Thus, you might end up with thumbdata3--1967290299.txt as the file name. We fix this in a later step.
4. Exit the text editor, and then switch to File Manager. Now, it is important you use a file manager like Rhythm Software's File Manager app, because it does what some others cannot: it can (a) rename file extensions and (b) access hidden folders.
5. In File Manager, navigate to the \DCIM\ .thumbnails folder. If the thumbdata3 file is there again, erase it again.
6. Move up a level to the \DCIM folder, and then right-click the thumbdata3--1967290299.txt file name. ("Right click" means hold your finger down on the name until a menu appears.)
7. From the menu, choose Rename, and then rename thumbdata3--1967290299.txt to .thumbdata3--1967290299 -- (a) add the dot (.) to the start of the file name, and (b) erase the ".txt" from the end of the file name.
8. Click OK (or Rename) to finish renaming.
9. Right click the file name, and then choose Move (or Cut).
10. Navigate down to the .thumbnails folder, and then tap Paste.
The dummy file will now prevent Android from creating the huge index file.
simplymonis said:
Hay guys
I am facing some strange issues on my galaxy nexus 4.2.2 unrooted
I have notice that in my phone there is a file name THUMBDATA3-1763508120 in DCIM--->thumbnail folder of size 1.5 GB.
And even after deleting this file no space of my sdcard is released . Means my SDCARD is still showing the same space as before .
and after some time it recreate again with same size when i use camera for some time.
One more thing in my phone I have 9.35 GB of data content but SDCARD is showing 11.5 GB of space out of 13.3 GB
Click to expand...
Click to collapse
I just answered this in another post but check it
I have root on my device, so I did the following.
Using Root explorer I went to the folder /DCIM/.thumbnails (hidden) and deleted the huge file. Then with the "+" I chose "New file" and named it the same as the previous .thumbdata3-.... it created a file that is 0 Bytes and then I went and used the camera and the apps, so far the file stays the same size, so maybe that trick will work for others too. Good luck.
Hello.
In this tutorial, I will try to explain how to add some language(s) in your phone when it's not implemented by the vendor (localized ROM).
I will not cover how to change the keyboard language (or layout) as there are a lot of free keyboards in the market with a lot of localizations. (In my case I need azerty French keyboard that is not implemented in my ROM).
I did it with KitKat (4.4.2) but should be ok with almost any version.
It's for Samsung devices, I really don't know if it's work with others brands try it !
I'm pretty sure that only the 1st phase should maybe not work in other brands, The last 3 phases should be OK with any brand.
I'm French and living in Japan, I recently bought a Samsung Galaxy S4 who is restricted by Japanese vendor (DOCOMO) to only English, Japanese & Korean languages.
I've read a lot of things before I could translate the OS (French in my case) , and I could'nt find any good tutorial. Some people say you can't, some say you have to recompile your ROM , etc...
First, you could install something like "applocal2" for add your language in already translated apps, but of course, it will not work for the non-already translated apps (usually system apps).
As I'm new here (look at my join date ), I coudn't post link, so google for them !
What you need :
In your device :
Your device must be rooted.
Root Browser or equivalent.
USB debugging turned on.
In your PC :
A Rom for your device with the language you want inside in the same version of Android. (Find it in sammobile.com site for Samsung devices).
sgs2toext4.jar. (Transform the system.img.ext4 from the extracted ROM to a readable format for the next tool)
ext2explorer. (Extract the files from the system.img.ext4)
Virtuous Ten Studio. (Don't have to present it !! The must have tool !!)
7zip or equivalent.
What you have to know :
This is always dangerous to play with system files ! I'm not responsible if you broke your device !!
Always do a backup of the file you will modify ! I suggest you copy them on your PC and you keep them in the original folder with a modified name, as this you could maybe try to restore them via ADB if something is wrong.
You don't have to bother with the signature mode when recompiling system (only) apk (any of them are ok). But you should copy the "META-INF" folder & "AndroidManifest.xml" file from the original apk to the newly repacked apk. (First erase them from the newly created apk inside 7zip, then open the original apk with 7zip and copy and paste to the new apk).
When copying new apk from PC to device, first copy them in the /system/ folder, then change permission to 644 (rw-r--r--) before finally moving them to the original folder.
How it's work :
The principe, as you should understand, is to extract both your apks and the apks from the dowloaded ROM, copy the ressources in your language from it to your apks and then rebuild them.
In our case (at least mine ) these apks are in the folders :
/system/app/
/system/framework/
/system/priv-app/
Ok, here we GO !
1st phase : extract the files from the downloaded ROM with the language you want.
Extract the ROM (.zip) with 7zip, and then extract again the resulting file (.tar.md5) with 7zip (you should have an error : don't care of it).
Open sgs2toext4.jar and past in it the file system.img.ext4. Wait it take time. It will produce a new file named : system.img.ext4.img
Open ext2explorer and choose open the previously created file. Then right click on it and save. Create a new folder (I named it sys), and press ok. Wait it take time.
You now should have the /system/ directory extracted inside the sys directory with the apks who have your language in them.
2nd phase : Find the apks you need to modify. This is actually the most harder part !
There are a lot of apks in the 3 directories I say earlier. You don't have to translate all of them.
The 1st one you should change is /system/framework/framework-res.apk or /system/priv-app/SystemUI.apk. One of them (don't remember wich one ) give you the option of your language in the settings.
Launch VTS (Virtual Ten Studio) and click New Solution
Choose the file you want to open, then Import.
Project-Type must be Apk-Project.
Choose a Solution Name (for example Original_name_of_apk or Translated_name_of_apk), then Click Next.
Should be Basic Theming. Click Next.
Click Next.
What I did is to open some of them one by one to see if there are localized languages in it.
Here a non-exhaustive list of what I found :
Some of them are the overlay by Samsung (TouchWizz), and some of them are Japanese version of app.
Try to find yours (for example JContacts.apk could be SecContacts_OSup.apk in the downloaded ROM) by opening both versions and comparing the file /res/values/strings.xml.
/system/framework/twframework-res.apk
/system/framework/framework-res.apk
/system/priv-app/SystemUI.apk
/system/priv-app/Keyguard.apk
/system/priv-app/Jcontacts.apk
/system/priv-app/SecLauncher3.apk
/system/priv-app/SecPhone_JPN.apk
/system/priv-app/SecSafetyAssurance.apk
/system/priv-app/SecSettings.apk
/system/app/AccessControl.apk
/system/app/AssistantMenu.apk
/system/app/EasySettings.apk
/system/app/MultiWindowTrayService.apk
/system/app/SViewCoverService.apk
3rd phase : Copy the language from one apk to another.
Now you have found some apk to "translate", we must copy the /res/ folders we want from the decompiled apk of the ROM who contain your language to your original apk.
Look in the /res/ folder in VTS and find the differents languages : they are /res/value-xx/ but you could have in some case /res/raw-xx & /res/xml-xx.
Anyway,
Copy from the folder created by VTS all the directories who have the language you want (in Windows Seven it's : \Documents\Virtuous Ten Studio\Projects\Translated_name_of_apk\name_of_apk\Data\res) and copy them to the VTS directory of your original apk ( \Documents\Virtuous Ten Studio\Projects\Original_name_of_apk\name_of_apk\Data\res).
In VTS, reopen or reload the original solution.
Click Build all in the top tab Home. Wait it finish.
Very important : As said before, open your original apk and the newly created apk ( \Documents\Virtuous Ten Studio\Projects\Original_name_of_apk\name_of_apk\Binary) with 7zip, and replace META-INF folder & AndroidManifest.xml file from the original one to the new one. This will sign your apk.
4th phase : Replace the original apk whith the new one.
Copy the new apk on your device, and copy it in the /system/ folder.
Very important :Change permissions to 644 (rw-r--r--) with Root Browser in the device, and then move it to the original folder remplacing the original one.
That's it, wait few minutes and play with your device to see if there are no problems and then reboot, go settings, change language and see the changes !
I suggest you reboot after each change you made in case something goes wrong.
Notes :
In some case I had errors when decompiling apk. I had resolved that by remplacing the version of ApkTool in VTS by the last one (C:\Program Files (x86)\Virtuous Ten Studio\External\ApkTool) version apktool_2.0.0rc3.jar. Then remove the other 2.0.0 jar file.
In some case I couln't build the new apk because of errors in some layout files. I didn't manage to resolve that as the both ROM I have (mine and downloaded one) have the same issue.
If something goes wrong (but it shouldn't be), for example lot of messages "error xxx should close" just when you replace the apk before rebooting try to lanch an adb shell and to retrieve the original apk you had saved in the original dir by erasing the new one and rename the saved one. In some devices you have first to remount the system partion in rw as it's read only.
EDIT :
I had a bug with 1 file I modified : SecMms.apk
I'd tried it and it was working fine, but after I receive message, it crash always.
After some testing, I got it working by using the old version of APKTOOL (1.5.2) for decompiling it.