On Thu, Jul 12, 2012 at 04:34:46PM +0300, Tony Houghton wrote:
> On Thu, 12 Jul 2012 08:09:30 -0500
> Jim Graham <
spook...@gmail.com> wrote:
> >
> > Yeah...looks like I'm at LEAST going to have to support two, if not all
> > three CPU types.
> >
> > Still wondering whether I need armeabi, armeabi-v7a, or both (doing image
> > processing via JNI using OpenCV, and don't want to leave out any devices
> I think modern ARMs are all backwards compatible, so if you support the
> lowest one it will run on all the newer ones too. And if your app works
> OK on older ones it probably doesn't need the small performance boost of
> v7a on newer ones.
Strange. The post I read comparing the two suggested that, when doing a
lot of math (e.g., image processing), the difference was much more
significant. I suppose I could do a test with my tablet, and see if I
notice a big enough difference to see it across two different installs,
etc.
> That said, if you're going to have to support
> multiple CPUs anyway (because of x86) you might as well support more
> than one type of ARM.
The issue here is the size of the APK. My camera app, without the NDK
and one small subset of OpenCV went from about 467 kB to 4.8 MB after
adding armeabi for my cvBlend.cpp and libopencv_java.so. When I added
both armeabi and armeabi-v7a, it grew to nearly 10 MB. And I'm not
finished adding OpenCV stuff or C++ code to drive the various image
processing types. I don't want to leave out any part of the Market
that's more than a minute percentage, or that has higher-resolution
rear-facing cameras (i.e., someone more likely to be interested in a
camera that does more photography, family photos, etc., types stuff).
In other words, it's very important to me that I get this right. :-)
I was just looking at how BS Player does it...multiple apps---one for
each CPU type; not multiple APKs as one app, as the Market (I hate
calling it the "play store") doesn't support filters based on CPU
type (IMO, that's a mistake, but then, they don't listen to my
opinion <grin>). If you download the wrong version , it tells you
that you need version xyz instead.
The problem is, my app will be a paid app, and if the user doesn't get
their refund for the wrong version quickly enough.... That would NOT
be a Good Thing(tm).
> Can an app install another app?
Yes and no. The Market (errr, play) app is an app. It's an app that
has priveleges that normal apps don't (I'm not sure if that means it
runs as root, or just as a system app...not really important, though).
SocIo Mall's app can also install other apps, so there is a way to get
that ability. This coems up in the android-developers list frequently,
usually someone wanting to install another app without the user knowing
(i.e., spyware). As I recall, the answer is generally NO.
An app can definitely install modules, but does include support for
shared libraries? I have no idea, but if so, that might be the answer
if the APK gets too big. I suppose I should probably worry about this
if/when it does instead of worrying about the potential issue now.
But that's me...I like knowing the future whenever I can. :-)