[Android Software Development] eyeburn:
Hi,

I modified the recently leaked skype w/ video app for the HTC Thunderbolt. Let me document my changes and progress so far:

Here is the original app:http://www.droid-life.com/2011/04/11/download-skype-with-video-on-android/

1) if you try to install the app unmodified on a non HTC thunderbolt phone, you will get an "installation failed" message. I decompiled the app using these instructions: http://jack-mannino.blogspot.com/2010/09/reversing-android-apps-101.html

2) I modified the AndroidManifest.xml to remove this line:

<uses-library android:name="com.htc.device" />

3) I then recompiled and resigned the app( http://www.addictivetips.com/mac-os/auto-sign-tool-for-android-developers-on-mac/).

4) The apk now installed on my Nexus S but I get this error when I opened it:

"Sorry, your phone is not able to use this version of Skype. To find out more about Skype on mobile, visit www.skype.com"

5) I looked through the code and found the offending text in com.skype.ui.SplashScreenActivity.class:

protected void onResume()

{

super.onResume();

if (!f.a())

{

Toast.makeText(this, "Sorry, your phone is not able to use this version of Skype. To find out more about Skype on mobile, visit www.skype.com", 1).show();

finish();

}

.....

I commented out the toast and finish() line and then recompiled and resigned.

6) The apk installs but crashes when I try to open it:

W/dalvikvm(17595): VFY: bad arg 1 (into Ljava/lang/CharSequence;)

W/dalvikvm(17595): VFY: rejecting call to Landroid/widget/Toast;.makeText (Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

W/dalvikvm(17595): VFY: rejecting opcode 0x71 at 0x0010

W/dalvikvm(17595): VFY: rejected Lcom/skype/merlin_mecha/ui/SplashScreenActivity;.onResume ()V

W/dalvikvm(17595): Verifier rejected class Lcom/skype/merlin_mecha/ui/SplashScreenActivity;

W/dalvikvm(17595): Class init failed in newInstance call (Lcom/skype/merlin_mecha/ui/SplashScreenActivity;)

D/AndroidRuntime(17595): Shutting down VM

W/dalvikvm(17595): threadid=1: thread exiting with uncaught exception (group=0x40015560)

E/AndroidRuntime(17595): FATAL EXCEPTION: main

E/AndroidRuntime(17595): java.lang.VerifyError: com.skype.merlin_mecha.ui.SplashScreenActivity

E/AndroidRuntime(17595):	at java.lang.Class.newInstanceImpl(Native Method)

E/AndroidRuntime(17595):	at java.lang.Class.newInstance(Class.java:1409)

E/AndroidRuntime(17595):	at android.app.Instrumentation.newActivity(Instrumentation.java:1021)

E/AndroidRuntime(17595):	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1681)

E/AndroidRuntime(17595):	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1793)

E/AndroidRuntime(17595):	at android.app.ActivityThread.access$1500(ActivityThread.java:123)

E/AndroidRuntime(17595):	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:939)

E/AndroidRuntime(17595):	at android.os.Handler.dispatchMessage(Handler.java:99)

E/AndroidRuntime(17595):	at android.os.Looper.loop(Looper.java:123)

E/AndroidRuntime(17595):	at android.app.ActivityThread.main(ActivityThread.java:3848)

E/AndroidRuntime(17595):	at java.lang.reflect.Method.invokeNative(Native Method)

E/AndroidRuntime(17595):	at java.lang.reflect.Method.invoke(Method.java:507)

E/AndroidRuntime(17595):	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)

E/AndroidRuntime(17595):	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)

E/AndroidRuntime(17595):	at dalvik.system.NativeStart.main(Native Method)

W/ActivityManager( 176): Force finishing activity com.skype.merlin_mecha/.ui.SplashScreenActivity

W/ActivityManager( 176): Force finishing activity info.tikuwarez.launcher3/.ClassicAppPicker

This is my progress so far and here is my modified apk:http://www.mediafire.com/?l6xddlun3u52ung