1. xanderten50's Avatar
    Just a simple question really,
    Since most information I can find on the PlayBook cpu puts it as a Cortex A9, why do android apps seem to see it as a ARMv6?
    This mostly affects 2 apps that I'm trying to use: OnLive & the TeamSpeak beta client.
    Both install fine and seem to work (IE. they don't force close as soon as they run) but the OnLive app sites incompatible hardware (since I'm a fan of OnLive as well I've been looking into this on their forums and this only happens on ARMv6 CPUs) and the TeamSpeak app actually says it is not compatible with ARMv6 CPUs.
    Does anyone have any idea if hardware checks in android apps can be circumvented?
    06-26-13 06:57 AM
  2. SifJar's Avatar
    The problem is both apps use native code. This native code is compiled for ARM v7 processors. I'm not completely sure what's going on, but the fact of the matter is that even if the PB did report an ARM v7 processor, the apps still wouldn't work because native code doesn't work on the PB.

    Perhaps the PB reports an ARM v6 processor so that the apps won't even try to run their native code, but will just report an incompatibility. (If they tried to run the code, the apps would probably just crash without any sort of error, which is poor user experience). Of course, this won't necessarily work with all apps (some may have native code compiled for ARMv6, in which case they'll just crash) but I believe ARMv7 is the most common amongst Android devices, so perhaps BlackBerry decided to report ARMv6 because they knew some apps would display an error on ARMv6 devices.
    xanderten50 likes this.
    06-26-13 07:55 AM
  3. quackquack147's Avatar
    The problem is both apps use native code. This native code is compiled for ARM v7 processors. I'm not completely sure what's going on, but the fact of the matter is that even if the PB did report an ARM v7 processor, the apps still wouldn't work because native code doesn't work on the PB.

    Perhaps the PB reports an ARM v6 processor so that the apps won't even try to run their native code, but will just report an incompatibility. (If they tried to run the code, the apps would probably just crash without any sort of error, which is poor user experience). Of course, this won't necessarily work with all apps (some may have native code compiled for ARMv6, in which case they'll just crash) but I believe ARMv7 is the most common amongst Android devices, so perhaps BlackBerry decided to report ARMv6 because they knew some apps would display an error on ARMv6 devices.
    adding to sifjar's post, modern devices are armhf or arm hard float. so armel or armeb will result in a core dump. IMHO. can you reproduce the error code. i think it will result in a segfault. because armv6 and armv7 are different. and also not all armv7 are identical lets say omap3340 onwards are armhf. so armeb v7 even thought same family will result in segfault. i am not 100% sure. but playing with qemu i always ended up with a segfault and then a coredump, and have never ran a trace or dbg on the trap and where the fault lies.
    hope this helps. if someone can reproduce the errors will be nice. i mean in playbook. there are log files which got the segfault messages. and lastly QNX is bsd based microkernel aka mach, and android is linux. so you need to translate, so you need the libraries also. i am not sure 100% again.
    thanks
    -paul
    Last edited by quackquack147; 06-26-13 at 08:06 AM. Reason: added more info
    xanderten50 likes this.
    06-26-13 08:03 AM
  4. quackquack147's Avatar
    one more thing i forgot to add, both the distro qnx and android uses dalvik and java (jre/jdk), so if its java based then it should not be much of an issue. and then again i have no idea on this. this is my assumption and/or speculation.
    so if both are java based then they should work 100%. but if they are core and/or foundation based i.e. uses systemcalls and ipc then i am sure it will result in a segfault. i have seen this happen in qemu all the time. this is the experience when i was trying to work with maemo for my nokia n900 in 2010 and 2011 (n900 got stolen in 2011), so had to abandon all my work almost, now i got a second hand one. so based on your query i will try to put back the old abandoned work back to business.
    but still i am 100% sure armel and armeb of armv6 will result in a core because of segfault and also armv7 with different sub arch might also result in segfault or coredump. i will have to work again on an abandoned project to confirm this.
    thanks
    -paul
    06-26-13 08:37 AM
  5. xanderten50's Avatar
    Going off these responses I take it there isn't going to be a quick fix - Am not overly surprised, was just a bit hopeful!
    Thanks for the info guys
    06-26-13 08:53 AM

Similar Threads

  1. Battery & Android Runtime questions
    By BannedForNoReason2 in forum BlackBerry Z10
    Replies: 5
    Last Post: 03-27-13, 09:47 PM
  2. Playbook android installation question
    By davefootball123 in forum PlayBook Android App Sideloading
    Replies: 2
    Last Post: 03-17-12, 06:22 PM
  3. playbook 2.0 android app question/request
    By steelers08812 in forum PlayBook Apps & Games
    Replies: 5
    Last Post: 10-19-11, 08:31 PM
  4. Non-Android User Questions
    By BerryGuy25 in forum Android
    Replies: 3
    Last Post: 12-14-09, 03:15 PM
  5. More android/droid questions
    By jeffruby in forum Android
    Replies: 15
    Last Post: 11-01-09, 01:17 AM
LINK TO POST COPIED TO CLIPBOARD