Tuesday, February 14, 2017

Troubleshooting Apple ITunes Update on Microsoft Windows

ITunes update on my Windows 7 PC. It had to be a trivial task... at least in theory. The only thing to do was just double clicking on the newest version of ITunes installer I downloaded before and waiting until it finished its job. You know, sometimes the reality goes beyond any imagination.

During the installation I got this error and as a result the entire update aborted.

"There is a problem with this Windows Installer package. A program required for this install to complete could not be run. Contact your support personnel or package vendor".

Apple, aka the inventor of user friendliness, was telling me something cryptic: "a program required for this install to complete could not be run". Now, my first question was: which program? But no info was given about.

Dear Apple, sometimes I guess you deliver these riddles to Windows users in the hope to converting them to your platform, where everything is wonderful and these error messages do non exist just because all is working like a charm. Well... I like riddles.

So, after an entire week-end spent on it, I discovered the solution. Which program caused this error message? Apple Software Update. It was missing or not properly installed on my PC.

These are the steps to follow for solving the error and to install ITunes correctly.

From Add or remove programs panel uninstall these programs in this exact sequence.

  1. ITunes
  2. Apple Software Update (if not present, just skip this step)
  3. Apple Mobile Service Support
  4. Bonjour
  5. Apple Application Support (32 bit)
  6. Apple Application Support (64 bit)
Now install ITunes.

If the error still appears, open Add or remove programs panel. Right click on Apple Software Update (now it has to be present) and choose repair.

Run the ITunes installer again. Now it should complete with no errors.

Hope this help.

Wednesday, September 30, 2015

Back to Samsung Firmware - part 2

It's time to get the root access. This operation can be accomplished in two steps.
  1. Install a CWM (ClockWordMod) recovery
  2. Install a zip file that allows to gain root access
The first step is needed because there's no way to install a zipped program into the phone without having a CWM recovery installed. Specifically, we will install the PhilZ kernel (for more info check this out).

Ok. Let's start.
  1. Download PhilZ kernel.
  2. Be sure the phone is switched off. 
  3. Start it and press simultaneously VOLUME UP + HOME + POWER keys
  4. Follow the instructions on the phone
  5. Start Odin
  6. Connect the phone to PC via USB cable
  7. Click on the AP button in Odin window and load PhilZ kernel
  8. Click on Start button. The transfer begins.
When the procedure terminates, the phone restarts. Now you will notice a yellow triangle just under the phone name. It indicates the phone kernel has been altered someway. Don't worry about it: it's possible to get rid of it. We will do it later, For the moment just forget about it.


Saturday, May 23, 2015

Back to Samsung Firmware

Oops I did it. I mean, I installed CyanogenMod on my Samsung Galaxy S2.
After a week spent with it, I can say for sure that the only thing I really appreciated is the new version of Android OS (Kitkat, so Android 4.4.4, instead of Samsung's 4.1.2) . All the rest sucks (sorry!).
This is my list of major compliances:
  1. Not energy efficient. A battery charge last at maximum half a day
  2. Unstable. It reboots at least once a day
  3. Ther's not an FM radio and I cannot live without http://www.modenaradiocity.it/
That's enough for me. Time to come back to Samsung Firmware: yes I will reinstall Samsung Firmware, obtain root access and remove all the unnecessary Samsung apps that only last memory.

It's 12:00 AM. Let's start.

As a first step let's do a Nandroid backup. It's easy to do it starting with an already installed CyanogenMod ROM. In fact CyanogenMod comes with a CWM-based Recovery that makes it easy to do a full, Nandroid backup.
  1. Turn off the phone
  2. Enter recovery mode: with the phone still off, press simultaneously VOLUME UP + HOME + POWER keys
  3. The device will start in recovery mode
  4. Select backup and restore (use VOLUME UP / VOLUME DOWN keys for moving through the menu items and use POWER key for selecting an item)
  5. Choose either backup to /storage/sdcard0 or /storage/sdcard1
  6. After about 15 mins, the procedure finished. My God! I started with a 65% of battery charge and now it's about 10%!!! Anyway, I chose to backup onto sdcard0, therefore the procedure created some subdirs for me, specifically: clockworkmod/backup and another directory labeled with today's datetime. Inside that directory the procedure saved all the stuff. 
It's 12:20 AM. My phone is charging now. I need to reach about the 60% of the full charge for completing the next step. So, let's pause for a while and have some rest/fun with other activities. 

It's 01:05 AM now. Phone charge is about 68%. Time to install Samsung Firmware back. We will use a PC with Odin already installed and Samsung firmware file already in there.
  1. Connect the phone (still swiched off) to PC using a USB cable
  2. Start Odin and load the original Samsung Firmware by clicking on AP button and selecting the corresponding firmware file
  3. Start the phone keeping VOLUME UP + HOME + POWER keys pressed
  4. Follow the instruction on the phone
  5. Click Start button from Odin window
  6. At the end of procedure the phone will install the Samsung Firmware and will boot.
  7. If the phone keep restarting again and again without finishing the boot procedure, a hard reset is needed. In order to do this, switch off the phone. Then press VOLUME UP + HOME + POWER keys. The device will start in recovery mode. Select the item wipe data / factory reset and reboot.
It's 02:50 AM now. Samsung Firmware is working, but I haven't finished yet. I want to get rid of all the junk Samsung app that are pre-installed by the vendor. Ok. Time to root the phone.


Sunday, March 17, 2013

From one monolithic log files to many, more manageable, smaller logs

... Then they came to me for interpreting the n-th log file: it was an intricate mess of thread traces. When I went home I wrote an utility for splitting that mess into several files each one with a single thread trace.

Welcome to my log-splitter

Tuesday, January 08, 2013

Reading Android SDK doc offline - I want to build my app - day 3

The ADT bundle doesn't install documentation by default, therefore the only way to read it is by using a internet connection. Here I'll describe how to acquire that documentation for reading it locally.

First off, be sure to launch your Eclipse IDE as computer administrator. (The details about how to do that are a little bit OT here, anyway... if you start Eclipse using a shortcut in Windows 7, be sure that, after opening its property, the item Run this program as an administrator is checked on under the tab Compatibility).

Now open your Eclipse IDE, then from Windows menu, choose the item Android SDK Manager. A window similar to the one in figure will open up.




Here you can see what already has been installed locally and what still hasn't. Check the item Documentation for Android SDK then click on Install button.

After installing the documentation, you can browse it under docs folder, located into SDK root folder. The entry point is the file offline.html.

What kind of Java am I using? - I want to build my app - day 3

Right now I'm doing some experimentations with Eclipse IDE using Java, but... wait a moment: is this the JVM I'm used to program for desktop/server applications?

Well... no. Take a look here to get what Dalvik is and here for getting some basic differences from JVM.

Monday, January 07, 2013

Time to study and to experiment - I want to build my app - day 2

This is day 2 of my experience in building my own Android app.

I downloaded the whole ADT bundle for Windows here and I installed it.
Then I started my training by chapter one, Building Your First App, that's basically an Hello World app.

This is a quite easy app to develop that shows you some basic concepts behind Android development: the Activity class, the View class and the Intent class. Beside that, it helps you familiarize with the emulator and its usage for building, running and debugging apps.

My impression now is... there is a lot of things to study and the complexity is high because the field is huge and this platform suffers fragmentation: I mean you cannot rely on the fact your app will run on Jelly Beans only (at least for my app). Therefore some APIs cannot be used generally and you have to learn way A as well B to do just the same thing.

Before continuing my training, I discovered a site where Open Source Android app are listed: it can be useful for doing some practice by studying already-skilled-programmers' code. Here it is: F-Droid. This site, as well as the SDK samples, can help a lot. (Practice makes perfect).

Saturday, December 22, 2012

Disappointment with tablet screen protectors

It was the third screen protector I tried to apply to my 7 inches Android tablet. I ended up thinking that is nearly impossible to apply a screen protector on a tablet surface without introducing some air bubble or dust.

So, now, I give up. My Android tablet will never have any of these gadgets.

After this (frustrating) experience my conclusion is: screen protectors are easily appliable only on small screen sizes, i.e. on mobile phones, otherwise... forget about them.

I want to build my app - day 1

Welcome back.
I see my last blog entry here is dated September 2010... a lot of time ago.
Don't worry for me: I'm alive and well. I still work on Java, I do a lot of photos and enjoy life.

Starting from today, I'd like to bring some new air here, at least I promised that to myself: I want to seriously build some apps. 

I own an Android 4.1 phone and an Android 4.2 tablet and I already told to myself countless times this year to develop some ideas, but I'm still fighting against less or no time at all, so the challenge here is to find out some good time to put words into action.

Today is day one for this project. I will post here my progress on a regular basis labeling each entry with the keyword myapp.