[Android Software/Hacking General [Developers Only]] Darkshado:
Hello,

I currently use VSuite 3.2 sourced from this thread on a Nexus S.

While this works, there are some issues, mostly that the screen needs to be on for the application to run properly. This is a problem if I'm driving as the phone is usually in my pocket with the screen off at that time, unless I plan ahead.

Hoping for a fix, I've tried getting VSuite 4.0 to work on the Nexus S using an apk originally meant for a Verizon Samsung Fascinate running 2.3.3.

The best I've managed so far with this one is to get an FC almost immediately after the app title appears. The same happens in the emulator and on my phone.

Issues to solve:

-Reintroduce support for languages other than English and Spanish. (I can replace Spanish by something else by changing a few strings in the smali code, but this isn't an elegant nor universal solution.) There is plenty of left over code and some data files from 3.2 should do the trick.

-Error due to missing phonebook_crc.dat.

-Error loading the library (or is it immediately afterwards?) leading to the forced closure.

I looked at some smali code and DDMS logs for clues, and it seems to have trouble with the vsuite library file...

Any ideas?

Darkshado

Below is an emulator DDMS log excerpt:

05-29 22:56:34.705: DEBUG/VSuiteApplication(508): onCreate()
05-29 22:56:34.774: VERBOSE/ContextWrapper(508): The homeDir is /data/data/com.nuance.android.vsuite.vsuiteapp/
05-29 22:56:34.954: ERROR/PhonebookMaster(508): File does not exist filename: /data/data/com.nuance.android.vsuite.vsuiteapp/phonebook_crc.dat
05-29 22:56:35.394: INFO/dalvikvm(508): Could not find method android.bluetooth.BluetoothHeadset.getState, referenced from method com.nuance.android.vsuite.bt.BTMaster.initiateAudioConnection
05-29 22:56:35.394: WARN/dalvikvm(508): VFY: unable to resolve virtual method 36: Landroid/bluetooth/BluetoothHeadset;.getState ()I
05-29 22:56:35.394: DEBUG/dalvikvm(508): VFY: replacing opcode 0x6e at 0x002a
05-29 22:56:35.404: DEBUG/dalvikvm(508): VFY: dead code 0x002d-0037 in Lcom/nuance/android/vsuite/bt/BTMaster;.initiateAudioConnection ()Z
05-29 22:56:35.414: DEBUG/BTMaster(508): onApplicationCreate, state = 0
05-29 22:56:35.434: DEBUG/BTMaster(508): doConnectToService
05-29 22:56:35.464: DEBUG/BTMaster(508): registerBroadcastReceiver for intent BluetoothHeadset.ACTION_AUDIO_STATE_CHANGED
05-29 22:56:35.484: DEBUG/BTMaster(508): registerBroadcastReceiver retIntent = null
05-29 22:56:35.714: DEBUG/dalvikvm(508): GC_EXTERNAL_ALLOC freed 431K, 51% free 2818K/5703K, external 746K/1038K, paused 115ms
05-29 22:56:36.114: DEBUG/SessionBroker(508): requestSession activeSession = null
05-29 22:56:36.114: DEBUG/SessionBroker(508): requestSession calling onSessionEnded()
05-29 22:56:36.114: DEBUG/SessionBroker(508): onSessionEnded, pendingSession = com.nuance.android.vsuite.vsuiteapp.VSuiteSessionMaster@40576758
05-29 22:56:36.124: DEBUG/SessionBaseClass(508): setContext() com.nuance.android.vsuite.vsuiteapp.VSuiteStartSession@4058e6f0
05-29 22:56:36.134: DEBUG/SessionBaseClass(508): registerSessionObserver com.nuance.android.vsuite.vsuiteapp.VSuiteStartSession@4058e6f0
05-29 22:56:36.144: DEBUG/SessionBaseClass(508): registerSessionObserver com.nuance.android.vsuite.vsuiteapp.SessionBroker@4058b858
05-29 22:56:36.144: DEBUG/SessionBaseClass(508): beginSession(), sessionState = UNINITIALIZED
05-29 22:56:36.154: DEBUG/SessionBaseClass(508): init()
05-29 22:56:36.174: DEBUG/SessionBaseClass(508): init(): mediaPlayerPlaying = false
05-29 22:56:36.195: DEBUG/SessionBaseClass(508): init(): broadcast sent - musicservicecommand: pause
05-29 22:56:36.204: DEBUG/BTMaster(508): init, state = 1
05-29 22:56:36.324: DEBUG/JniVSuiteSession(508): JniVSuiteSession(session)
05-29 22:56:36.324: DEBUG/JniVSuiteSession(508): init() sessionThread = null
05-29 22:56:36.324: DEBUG/JniVSuiteSession(508): .initLibrary() libraryLoaded = false
05-29 22:56:36.334: DEBUG/dalvikvm(508): Trying to load lib /data/local/tmp/libvsuite_sharedlib.so 0x40514f90
05-29 22:56:36.384: DEBUG/AndroidRuntime(508): Shutting down VM
05-29 22:56:36.384: WARN/dalvikvm(508): threadid=1: thread exiting with uncaught exception (group=0x40015560)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): FATAL EXCEPTION: main
05-29 22:56:36.414: ERROR/AndroidRuntime(508): java.lang.UnsatisfiedLinkError: Cannot load library: reloc_library[1311]: 33 cannot locate '_ZN7android11AudioRecordC1EijijijPFviPvS1_ES1_i'...
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at java.lang.Runtime.load(Runtime.java:394)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at java.lang.System.load(System.java:534)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.jni.JniVSuiteSession.loadLibrary(JniVSuiteSession.java:462)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.jni.JniVSuiteSession.initLibrary(JniVSuiteSession.java:422)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.jni.JniVSuiteSession.init(JniVSuiteSession.java:187)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.vsuiteapp.Session.init(Session.java:175)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.vsuiteapp.VSuiteSessionMaster.init(VSuiteSessionMaster.java:42)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.vsuiteapp.Session.beginSession(Session.java:99)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.vsuiteapp.SessionBroker.onSessionEnded(SessionBroker.java:93)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.vsuiteapp.SessionBroker.requestSession(SessionBroker.java:49)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.vsuiteapp.VSuiteStartSession.sessionCreate(VSuiteStartSession.java:202)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.vsuiteapp.VSuiteStartSession.access$300(VSuiteStartSession.java:37)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.nuance.android.vsuite.vsuiteapp.VSuiteStartSession$3.run(VSuiteStartSession.java:107)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at android.os.Handler.handleCallback(Handler.java:587)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at android.os.Handler.dispatchMessage(Handler.java:92)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at android.os.Looper.loop(Looper.java:130)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at android.app.ActivityThread.main(ActivityThread.java:3683)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at java.lang.reflect.Method.invokeNative(Native Method)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at java.lang.reflect.Method.invoke(Method.java:507)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
05-29 22:56:36.414: ERROR/AndroidRuntime(508): at dalvik.system.NativeStart.main(Native Method)
05-29 22:56:36.454: WARN/ActivityManager(43): Force finishing activity com.nuance.android.vsuite.vsuiteapp/.VSuiteStartSession
05-29 22:56:37.014: WARN/ActivityManager(43): Activity pause timeout for HistoryRecord{40727360 com.nuance.android.vsuite.vsuiteapp/.VSuiteStartSession}
05-29 22:56:38.734: INFO/Process(508): Sending signal. PID: 508 SIG: 9
05-29 22:56:39.004: WARN/InputManagerService(43): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@405db600
05-29 22:56:39.374: INFO/ActivityManager(43): Process com.nuance.android.vsuite.vsuiteapp (pid 508) has died.
05-29 22:56:39.374: INFO/WindowManager(43): WIN DEATH: Window{406fefa8 com.nuance.android.vsuite.vsuiteapp/com.nuance.android.vsuite.vsuiteapp.VSuiteStartSession paused=false}
05-29 22:56:45.123: DEBUG/dalvikvm(168): GC_EXPLICIT freed 45K, 48% free 3564K/6727K, external 2893K/3613K, paused 150ms
05-29 22:56:47.736: WARN/ActivityManager(43): Activity destroy timeout for HistoryRecord{40727360 com.nuance.android.vsuite.vsuiteapp/.VSuiteStartSession}
05-29 22:57:06.604: DEBUG/SntpClient(43): request time failed: java.net.SocketException: Address family not supported by protocol