Why so few Android apps compiled for MIPS?

Search This thread

shivansps

Member
Dec 4, 2011
17
7
This is something that is driving me crazy, shouldt be MIPS Android SDK and NDK be compatible with any source maded for the ARM version?

First thing i noticed with this Ainol Novo 7 Basic was that, the small amount of compatible apps, none of the better apps are compatible.

No: Netflix, Skype, Android Terminal Emulator, MX video Player, Chainfire3D, any mame32/nes emu, a working barcode reader, connectbot, adosbox/qemu, opera or any other browser. and the list goes on.

I wonder why, i trought devs will want the larger amount of users as posible.


For the record, i just got Android Terminal Emulator working in my Novo 7 Basic, i had to:

1) Download Term source code
2) Download MIPS Android SDK, NDK, Apache ANT, Eclipse with ADL, cgywin (to compile NDK libs)
3) Import Term project to eclipse
4) change the target build to android-12
5) change Aplication.mk to "APP_ABI := mips mips-r2"
6) build ndk-libs for the app
7) build the project with eclipse

And i know nothing about programing for android, just c/c++
 
Last edited:
  • Like
Reactions: GJSmith3rd

lehjr

Senior Member
Sep 27, 2011
382
477
KIssimmee
Best guess that anyone will probably give you is that the majority of devices out there running Android are ARM based, but as that changes, the number and quality of available apps should improve.

There is a HUGE obstacle to overcome however. Not many people are going to buy a device today based on what might run on it months from now, especially when there are devices out there that will run it now, and many of those that do purchase a MIPS based device consider it a mistake and end up returning it.
 

Dark3n

Recognized Developer
Sep 14, 2007
2,567
5,169
twitter.com
It is not possible to offer two different version on the market and i don't think it is possible to restrict the apps to a specific architecture.

Are the number of MIPS devices really rising? The android market doesn't really seem to be ready for that. It would mean even more app versions devs would have to consider.

Which apps work and which don't?
Maybe those using native code, compiled with NDK don't work, as those routines are compiled specificly for ARM.

Don't take my word for it though, just some thoughts.
 

GJSmith3rd

Senior Member
May 6, 2008
429
53
Chicago
Rumor has it that the problem is frequently a development oversight and that it's related to omitting some important MIPS related files from the package build.

I imagine that it can also be related to poor programming practices and also programming for optimized code.


~~ Sent from my Velocity Micro Cruz PT701/T105 via Tapatalk ~~
 

HinotoriBR

Senior Member
Apr 2, 2011
287
74
43
São Paulo
As far as I know, Market supports device specific apk's nowadays, which would make it possible to have an mips apk...

http://developer.android.com/guide/market/publishing/multiple-apks.html

Altough the proccess is not trivial, it is not that difficult either, just minor changes to the manifest and filter the apk for Native Platform...

Also, it would be possible to compile it for all devices that the current NDK supports, by using the latest revision of NDK (as of November 2011):

http://developer.android.com/sdk/ndk/index.html#overview

You just need to add:

APP_ABI := all

to the makefile and it should now be compatible with all processor architectures that NDK supports....

So, now there are means to easily support different processor architectures, but, don't expect quick adoption of it, as, unfortunately, this depends entirely upon developer will to change some of its project settings and/or publishing way (it is entirely possible, now, to have a single apk for all platforms)...

Unfortunately, right now, and I would dare to say, in the next 6 - 8 Months, I would not expect this to change much... Altough the official NDK has support for multiple devices, it still doesn't incorporate the MIPS abi, which is not official, and thus, it is not possible to declare that an APK for a native MIPS device as well...

Hopefully MIPS devices will grab a nice piece of the Android devices and then "force" Google to officially support those devices. I believe that it is possible to grab the latest unoficial NDK and use it with APP_ABI all and publish it to the Market, but, as of today, is mostly something recent and that few (if any) developers support (remember, this possibility came with November's NDK, I'm not even sure if MIPs NDK is already up to date with Google's November NDK), so, I would dare to say, MIPS devices are not in a good position right now (even x86 devices, which have official support, are not...).
 
  • Like
Reactions: GJSmith3rd

shivansps

Member
Dec 4, 2011
17
7
Sure... and here is connectbot too.

Ive attemped to recompile adosbox too but the source code and makefiles are just a big mess and no documentation provided.
And that is another problem, poor documentation in open source projects.

BTW, Market has to have some way to know if a app is for arm or mips, since market on basic only shows up compatible apps.
Also, its no enoght to just incluide the "mips" folder along with "armabi" with all mips compiled .so files inside the libs folder? because is that all what it takes, unless the app is using binaries.

And im agree that google has most of the fault for not incluiding mips supprt in his NDK, the mips one can compile for both.
 

Attachments

  • connectbot_mips.apk
    871.5 KB · Views: 280
  • AndroidTerm_MIPS.apk
    189.8 KB · Views: 337
Last edited:

maersi

Senior Member
Sep 7, 2010
69
11
Pingdingshan
I am in an even worse position - I bought 2 NOVO7Paladins - one for the g/f. I had to get one for myself, because I know I will be 1st line support :D

So, I have a MIPS cpu (with reduced software availability) and also ICS which further reduces app compatibility.

Apps which I consider essential (Samba server, VNC Server, Angry Birds Seasons....) are not available, so l'm currently installing eclipse, JDK, SDK, NDK on a linux box to try to rebuild stuff - it has been many years since I last had to get my hands dirty with code.

I know I have a steep learning curve ahead, but I'm sure it will be many months before there is a significant increase in app availability. I understand though, that if developers have written native code for ARM, they won't be in a hurry to port that to a minority cpu. It is way easier for new apps to be built with different architectures in mind.

Thanks Shivansps, I had been looking for a terminal - I had given up and was trying to get telnet working - a last restort. It was either that or carry a laptop around with me to use ADB :eek:

Now, all I need is to get the MIPS ABI to appear in Eclipse AVD setup... (oh, and learn how to code for android :D)
 

shivansps

Member
Dec 4, 2011
17
7
i dont use Eclipse or SDK myselft any longer, what i do is just recompile shared libs with mips NDK and include the new "mips" folder intro the libs folder of the original .apk file, then re-sign the apk with one click signer.
 

AlexanderZolotarev

New member
May 3, 2012
1
0
Minsk
MapsWithMe for MIPS and x86

I am in an even worse position - I bought 2 NOVO7Paladins - one for the g/f. I had to get one for myself, because I know I will be 1st line support :D

Hi! Do you still have MIPS android device?
Would you please test MapsWithMe on it? It's offline world maps based on OpenStreetMap.
We've built apk for mips and x86 architectures but doesn't have any devices to check if it works.

Apk is available here: dl.dropbox.com/u/24013616/MapsWithMe-203-mips-x86-120502.apk

Cheers,
Alex Zolotarev
MapsWithMe Team
 
Last edited:

merlot

Member
May 24, 2006
31
0
Barcelona
Hi! Do you still have MIPS android device?
Would you please test MapsWithMe on it? It's offline world maps based on OpenStreetMap.
We've built apk for mips and x86 architectures but doesn't have any devices to check if it works.

Apk is available here: dl.dropbox.com/u/24013616/MapsWithMe-203-mips-x86-120502.apk

Cheers,
Alex Zolotarev
MapsWithMe Team

Yes, I still have a mips tablet, but it hasn't gps. Do you want me to check it?

Enviado desde mi ThL W8 usando Tapatalk 2
 

Top Liked Posts

  • There are no posts matching your filters.
  • 3
    Sure... and here is connectbot too.

    Ive attemped to recompile adosbox too but the source code and makefiles are just a big mess and no documentation provided.
    And that is another problem, poor documentation in open source projects.

    BTW, Market has to have some way to know if a app is for arm or mips, since market on basic only shows up compatible apps.
    Also, its no enoght to just incluide the "mips" folder along with "armabi" with all mips compiled .so files inside the libs folder? because is that all what it takes, unless the app is using binaries.

    And im agree that google has most of the fault for not incluiding mips supprt in his NDK, the mips one can compile for both.
    1
    This is something that is driving me crazy, shouldt be MIPS Android SDK and NDK be compatible with any source maded for the ARM version?

    First thing i noticed with this Ainol Novo 7 Basic was that, the small amount of compatible apps, none of the better apps are compatible.

    No: Netflix, Skype, Android Terminal Emulator, MX video Player, Chainfire3D, any mame32/nes emu, a working barcode reader, connectbot, adosbox/qemu, opera or any other browser. and the list goes on.

    I wonder why, i trought devs will want the larger amount of users as posible.


    For the record, i just got Android Terminal Emulator working in my Novo 7 Basic, i had to:

    1) Download Term source code
    2) Download MIPS Android SDK, NDK, Apache ANT, Eclipse with ADL, cgywin (to compile NDK libs)
    3) Import Term project to eclipse
    4) change the target build to android-12
    5) change Aplication.mk to "APP_ABI := mips mips-r2"
    6) build ndk-libs for the app
    7) build the project with eclipse

    And i know nothing about programing for android, just c/c++
    1
    As far as I know, Market supports device specific apk's nowadays, which would make it possible to have an mips apk...

    http://developer.android.com/guide/market/publishing/multiple-apks.html

    Altough the proccess is not trivial, it is not that difficult either, just minor changes to the manifest and filter the apk for Native Platform...

    Also, it would be possible to compile it for all devices that the current NDK supports, by using the latest revision of NDK (as of November 2011):

    http://developer.android.com/sdk/ndk/index.html#overview

    You just need to add:

    APP_ABI := all

    to the makefile and it should now be compatible with all processor architectures that NDK supports....

    So, now there are means to easily support different processor architectures, but, don't expect quick adoption of it, as, unfortunately, this depends entirely upon developer will to change some of its project settings and/or publishing way (it is entirely possible, now, to have a single apk for all platforms)...

    Unfortunately, right now, and I would dare to say, in the next 6 - 8 Months, I would not expect this to change much... Altough the official NDK has support for multiple devices, it still doesn't incorporate the MIPS abi, which is not official, and thus, it is not possible to declare that an APK for a native MIPS device as well...

    Hopefully MIPS devices will grab a nice piece of the Android devices and then "force" Google to officially support those devices. I believe that it is possible to grab the latest unoficial NDK and use it with APP_ABI all and publish it to the Market, but, as of today, is mostly something recent and that few (if any) developers support (remember, this possibility came with November's NDK, I'm not even sure if MIPs NDK is already up to date with Google's November NDK), so, I would dare to say, MIPS devices are not in a good position right now (even x86 devices, which have official support, are not...).
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone