How to change Android emulator booting animation
The emulator uses an Android OS image to boot. You can't change this without changing the image. This isn't emulator specific, but for Android in general.
For more information on how to do that, you might look here, or just google "android change boot animation".
Once you have a new system image, run emulator -help-disk-images from your sdk/tools folder to see a ton of useful info about using disk images with your emulator. It tells you where to put the file, which differs depending on whether you're using the standard SDK or not.
That is not a string, it is a bootanimation. You can't set it to another text. You can change it so it is another animation though.
If you want to see other possible boot animations, google android boot animations.
For some reason, this is what most of my students and trainee ask about in every customization class.
The answer for that is - Of course you can modify that image .
To make a long story short:
You can actually do it for every device by storing a noncompressed zip file at /data/local/bootanimation.zip (just copy from CyanoGenMod and make sense of the animation layout and timing - that's the easiest way, and it explains much better than any explaination).
As I wrote in some other StackOverflow post, there are a couple of places you can do that (I disregard the encrypted case for the sake of simplicity):
system/media and /data/local/ .
The latter is preferable as it makes it easier to modify, and does not require the tedious
modification of the system.img (system partition) size.
Note that bootanimation.zip should be lowercase, and -0 compressed.
That is argueably the easiest Android customization (Well, if you have good graphic designers...)
That's not part of your application, is emulating an device. Remember that each android device have it's own Start up images and icons that can be related to the carrier or the brand of the phone, etc.
You cannot change that image, anyhow for what propose you want to change that?
Place a animation file in location /system/media/bootanimation.zip to override boot animation.
If you google around, you will find lot of tools to help you create boot animation (even from videos).
Related
i´m trying to find a way how to delete and restore files in android - not using android file explorer tools or external tools for forensic analysis.
So far i understand that most devices has ext4 file system and that erased data still exist, only metadata are deleted.
I´ve read few articles about forensic analysis but they all use tools.
I guess i have to use Adb shell and find a header of the file and alter it, but haven´t found any explanation how.
Am i heading right direction or wrong ? Any help appreciated.
(I have one rooted and not rooted device, both higher than 5.0 Android)
I'm afraid you will need to use tools. Consider the question, "I want to hammer a nail into mahogany without using tools?" How would you answer that question? A hammer is the natural instrument one would us to accomplish the task. But it's a tool. I suppose you could use a rock, but technically speakinng, that's also why a tool. It's why we talk about prehistoric humans as being tool users, even if they are using tools made out of an axe.
In this particular case, you'll want to take a full image backup of the disk partition which will require root, and then use a program like photorec to recover the deleted files.
I'm just wondering how the following scenario can be solved:
I want to write a very simple app for my daughter. The app displays 4 colored fields on the activity and through speech output says something like "tap green". She should then tap the green field to get positive feedback. So far, so easy.
I then thought it might be nice if the app would also "grow" as she grows older. Maybe later I want to have a game mode where I display animals, numbers, vehicles, etc., so it would be nice if I could have something like "Shape sets" - basically a set of images along with a description of what the app should say for each image. Also easy enough - all you need is a set of images and an XML file describing the images.
BUT
I'd like to be able to install these "Shape sets" as additional APKs later on, so that I don't have to modify the app every time. I'd like to install the APKs, so that the contents are added to a specific sub folder on the SD card, into which my app looks to enumerate available "Shape sets".
If I ever published the app to the Play Store, other people should also be able to download the "Shape sets" I create (no need for user contributions, though).
Is that possible? If so, what would I have to do to have the Android OS "copy" the contents of an APK to a specific folder (lets say "/TapGame/Shape Sets/Animals") on the SD card? Or is there even another way of achieving what I want that I didn't think of?
The term "plugin architecture" just came to my mind as I wrote the question. Searching using that term I found this question: Extend my android app in different APK
It seems to provide a solution to my problem - I'll investigate this further, but please feel free to suggest other possible solutions!
Is that possible?
Um, sure.
If so, what would I have to do to have the Android OS "copy" the contents of an APK to a specific folder (lets say "/TapGame/Shape Sets/Animals") on the SD card?
Android won't do any of that. You have to do that. You would have to detect that a "shape set" APK was installed (either watching for package-installed broadcasts, scanning all installed apps for ones that seem to be a "shape set", etc.). Then you would have to arrange to copy whatever you wanted to wherever you wanted it, either by:
Asking the "shape set" app to do it (e.g., send a command to some IntentService), or
Using createPackageContext() and trying to do the copying from your main app
Or is there even another way of achieving what I want that I didn't think of?
Um, just use ZIP files that your app downloads itself from a well-known location. That corresponds to Dave Smith's final paragraph of his answer on the question you just linked to in your edit.
Or, just update the main app. I'm not quite certain what effort you think that you are saving otherwise.
Or, just keep the content online, using a Web service to indicate the available "shape sets" and downloading them as needed (with optional caching).
Fascinating question. If you really want to go for plug-ins then OSGi would probably be the way to go, but it's a lot of work to get to know and to use and seems like overkill in this case.
I don't know how your shapes are defined, but they are probably each defined in a separate file-set, providing the shape (maybe a png or jpg?) as well as the audio-file that will be used as a command for this shape. If the folder in which these file-sets are stored is fixed (TapGame/Shape Sets/...) the app could scan the folder each startup and the views could be generated accordingly (in this case, the activity cannot be build entirely in the XML-File, but must be partially done programmatically).
The Plugin-Aps would be rather easy. They are an apk which includes the file sets (jpg and mp3 or whatever). Started once they deposit all these files into the specified folder (they probably check before if these files exist) and then the apk can shut down again and be uninstalled.
on the next startup the Tap Game App would find the new symbols and include them into the game.
This seems rather straight forward to me. Another way would be to actually store the shapes and audio files on the internet and with each start of the App check if the number of shapes and audio-files has changed and create local copies of new ones. This would mean no downloads of apks... probably a more usual approach to the issue.
I am very interested to hear what you make of it, seems like a different approach then the norm, which is always cool to see.
i want to make to make an PreferenceActivity with the same style that can be found on the image below.
Image of Preference Screen Android 3.2 http://img600.imageshack.us/img600/5120/device20120320173903.png
http://imageshack.us/photo/my-images/600/device20120320173903.png
There any way to make a close match of it or do i need to program the behaviour?
I can think of two ways you can do. One is to download the source code, but I think that layout is custom for galaxy tablets.
The other option would be to use the Hierarchy View Perspective in Eclipse to determine the structure and details of the interface and from there replicate the interface.
Good luck!
Udapte:
Ok, if what you want is the drawables you can actually get them from the tablet. With a file manager in the tablet copy the file /System/app/System.apk to the SD card and from there to your computer. There change the extension to .zip and extract the contents. This way you can access only the drawables. The xml files are compiled so you can't see their content.
I think you can use this if you want more data out (like the xml layouts): http://code.google.com/p/android-apktool/
Although as I said in the comments I am not sure about the legality of this given this is Samsung's own IP.
I have already created the default Android system images (like userdata.img, system.img, ramdisk.img) by following the instructions at Android page.
What I would like to create is customized Android system images from AOSP(by removing the apps & their code-dependencies, which are unnecessary for my target board, like the e-mail, browser) & run it on my target board so as to reduce the foot-print of the resulting system images & also speed-up the boot-up time of the target board.
Any pointers to do above mentioned customizations are welcome.
Edit this Makefile: build/target/product/generic.mk and remove the packages from the list. I won't bother going into how to compile, etc. Please note that doing this will not remove the code dependencies of the packages (you'll have to modify API in dalvik/ or frameworks/ which could get hairy), but it will eliminate the packages that are incorporated in the system image.
There's an open source battery indicator that I greatly prefer to the default one. I was wanting to modify it to replace the default battery indicator. Is this even possible without building a whole custom ROM?
Yes, it is possible to do without building a new custom ROM, but you still need root access. the .png files for the battery indicator are in the framework-res.apk, you can extract that, replace just the .png files for the battery and put it back with approriate access rights and it will work. kinda like the process to just can change the "Verizon Wireless" (or other carrier) text on the lock screen.
I do not believe it is possible without building a whole custom ROM.