[Android Apps and Games] saurik:
I am intending to do so once I get the number of outstanding weird corner cases down (and in working up to that I've been going through all the existing threads replying to things); I was previously waiting until I had the HTC LD_LIBRARY_PATH situation resolved (workaround in 0.9.4007), but now I'm dealing with this widespread "I clicked the Link button and it didn't do anything" issue. Otherwise, I am pretty certain that it will just be a bunch of people asking about the same things over and over again ;P.

However, as the website states, I encourage people to come on IRC if they are having any issues: I spend most of my day sitting on IRC, and I find it much faster and more convenient than a forum for debugging interactions. I thereby feel like I'm pretty easy to interact with ;P. (Meanwhile, I do not understand quite how a forum thread is "centralized": information tends to get duplicated over hundreds of pages... I would much prefer to see more websites for projects.)

Thank you so much for this incredibly detailed set of logs; I've been talking with a ton of people about this issue, but almost none of them are very technical, or they don't really have the time to provide any detail in their responses to my questions. So, the main failures I'm seeing from this log are a ton of crashes and exceptions from XThemeManager and Xposed. XThemeManager seems to be throwing a NullPointer exception every time my application starts up :(. This seems vaguely harmless, though.

More key, however, I'm seeing what looks like a failure in Xposed attempting to even run app_process around when I think you are trying the Substrate Link step (as I see multiple attempts at su, each followed by this error). Xposed makes the assumption that the implementation of app_process will be the same on every device, and outright replaces the entire binary with his own implementation (a form of "backup/restore package" that we banned many years ago in the iOS Cydia ecosystem). :(

In this case, I run app_process in order to start a new virtual machine (that has Android Runtime native classes loaded) for purpose of my link step installation scripting (I have to do this work as root, so I cross that boundary with su and reconnect to a new VM on the other side). It seems that Xposed is injecting into this process, but is failing to do so, and is failing to even have enough error checking to realize that it failed to do so, and is making app_process return with exit status "success".

D/Xposed ( 8872): Starting Xposed binary version 34, compiled for SDK 15

D/Xposed ( 8872): Phone: MID (unknown), Android version 4.0.4 (SDK 15)

D/Xposed ( 8872): ROM: 20120919-A721

I/Xposed ( 8872): -----------------

I/Xposed ( 8872): Added Xposed (/data/xposed/XposedBridge.jar) to CLASSPATH.

D/AndroidRuntime( 8872):

D/AndroidRuntime( 8872): >>>>>> AndroidRuntime START de.robv.android.xposed.XposedBridge <<<<<<

D/AndroidRuntime( 8872): CheckJNI is OFF

E/Xposed ( 8872): Error while loading Xposed class 'de/robv/android/xposed/XposedBridge':

I/dalvikvm( 8872): java.lang.NoClassDefFoundError: de/robv/android/xposed/XposedBridge

I/dalvikvm( 8872): at dalvik.system.NativeStart.main(Native Method)

I/dalvikvm( 8872): Caused by:

I/dalvikvm( 8872): java.lang.ClassNotFoundException: de.robv.android.xposed.XposedBridge

I/dalvikvm( 8872): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)

I/dalvikvm( 8872): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)

I/dalvikvm( 8872): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)

I/dalvikvm( 8872): at dalvik.system.NativeStart.main(Native Method)

E/AndroidRuntime( 8872): JavaVM unable to locate class 'de/robv/android/xposed/XposedBridge'

D/AndroidRuntime( 8872): Shutting down VM

My UI was actually recording all of this error output, but threw it away because I was given the "exit status 0, everything worked out fine" flag. I'm making a modification to instead detect any output to stderr as an additional error condition. I'm might also be forced to switch to using dalvikvm+WithFramework so I can avoid Xposed breaking my process, but that makes me somewhat sad as I'm concerned about device-specific VM arguments in AndroidRuntime::startVm() that I might need to guess :(.

I have pushed a new version of Substrate to the Play Store, 0.9.4009, that works around this issue. I also determined that 0.9.4008 failed to inject on many devices running Android 4.2 due to a symbol visibility weirdness in the Android NDK, and have fixed this as well. If you'd be willing to test this new build and tell me if you run into any other problems, I'd be most appreciative ;P.

http://cache.saurik.com/apks/com.saurik.substrate_0.9.4009.apk

I will likely be posting some beta versions in a subsequent XDA forum thread I am likely to be creating soon, but I will point out that on IRC I have beta versions continually in the topic of the #android@irc.saurik.com channel. I have been posting at least one beta build a day currently (sometimes, much more often, and I've been giving out one-off builds to people to help me test various things if they have issues, although that's decreasing now), as I've been doing so much development on this thing.