How about use "armeabi-v7a" as default ABI on Android for template?

Hi all,

Now the project generated doesn’t set ABI in Application.mk, which means it will use armeabi as the target architecture. This lead to the result that, it can not use neon instructions to speed up the application.

Now we decide to use armeabi-v7a as default target. Because we think now most Android devices are arm-v7 based. And if you want to support arm-v6, you can remove the setting in Application.mk.

Any thought?

Hi!

It’s cocos2d-x compatible with x86 ABI?
Although a new project compiles with this ABI, I don’t have an x86 android device, so I can’t test it.

Thanks!

Yep, it is compatible with x86 ABI.

So, no body care about it?

Maybe we can default it to build .so files for all architectures. Armv6, Armv7a, x86, etc… this will mean a larger .APK but run on all platforms.

Well, this is a topic that not a lot of us seem to understand fully (as in, what would be the differences and pros and cons of going one way or another).

In any case, it’d be nice to be able to target any version one would wish to (unless market data shows that the old versions are absloutely forgotten by the end users).

@schngrg
Yep, you can do it in your application. But do it in template is not suitable. Because it will generate a big apk as you said, and it cost more time to compile.

@schngrg

  • armeabi-v7a
    Will use neon instructions to speed up application, but the generated application can not run on armv6 devices.
  • armeabi
    The generated application can run on armv6 or upper version.

IHMO the performance of Cocos2D is already awesome!

Having that in mind I would choose to have a better compatibility, leaving armeabi insteade of v7a to have access to more lower devices. (some of which still very popular here at Brazil, like Galaxy Y)…

Just my 2 cents… :wink:

@pekayatt
Thanks.

Thanks @zhangxm. Cocos2dx download includes some precompiled binaries, like for libjpeg and libcurl etc. In older version of cocos2dx these precompiled binaries were not there for all platforms, but I checked and now in new releases cocos2dx already has precompiled binaries for all 3rd party libraries for arm, arm7a and x86.

So, yes, now developer can set any values for their application. For default template I think compatibility matters more. I suggest either armeabi only, or all 3 for both speed and compatibility.

I think the best to use armeabi for development and armeabi and armeabi-v7a and x86 for release. So it’s not important for template and can be armeabi.

Thanks guys.
We will use armeabi as it is now.

Hello, do i have to make any modifications to my Application.mk file for it to support x86 or will it already support it by default when I build a new project ? I am kind of new to this and want to support as many as devices as possible I know armeabi supports majority but I would also like to know how to support x86. Thanks very much.