-
Notifications
You must be signed in to change notification settings - Fork 7.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android prebuilt no arm64-v8a support #15566
Comments
@mars3142 did you meet any issue or just want to improve performance? |
I found it, because I used the ndk-bundle from the Android SDK. Which seems to use arm64-v8a as default. And in my Application.mk I can't set
only
is possible. And because more 64 bit phones are coming, I was just wondering. Another problem was, that I had to downgrade my NDK toolchain to r10, because r11 isn't working. But this seems to be an Google bug. @WenhaiLin And why isn't this in the official release included? |
@mars3142 thanks for the information. I agree with you that cocos2d-x should support arm-64-v8a now. @zilongshanren any idea of it? |
@minggo I think it's very important to include arm64 not just for iOS but also for Android. |
@ricardoquesada i think we need to provide arm64 for Android, can you modify the compile script to build out arm64 libs? |
@minggo sure. I'll do that. |
@minggo the scripts already support that... I think I added that a few months ago while compiling cocos2d-x v2.1.5 for arm64 (or perhaps someone else added it). You should know that the API level should be changed from 9 to 21.
but API level should be changed to 21. I'll make sure that cocos2d-x compiles with arm64 as well |
@minggo should we add |
@ricardoquesada I think we don't have to add |
lua and javascript for arm64 is not compiled
sure. done... sort of:
Default branch is 33, but there is a 34 branch. |
@pandamicro which branch are we using in cocos2d-x v3.12? v34 or v33? @minggo I think LuaJIT does support arm64 now... but I could be wrong. |
@ricardoquesada yep, we use lua source code for iOS arm64. It is supported for a long time. I think what we should do just for Android 64 bit. |
@minggo thanks. Any idea what should I do? what scripts should I modify? thanks. |
lua and javascript for arm64 is not compiled version 103 uses JPEG 9b for android using armeabi
@ricardoquesada now when i run |
It's v33, before we made a total abstract API layer from Spidermonkey, I don't think we should upgrade it, because the API changes will affect user binding code, AnySDK support, SDKBox support, etc... |
@minggo you might be using an slightly older version... trying "git pulling" again.
@pandamicro Ok. So I'll use branch v33. |
@ricardoquesada yep, now it builds out |
JavaScript ARM64: Lua ARM64: @minggo Everything seems to be working fine:
Any idea where should I look? Who is our Lua guy? I need his help here. |
lua and javascript for arm64 is not compiled version 103 uses JPEG 9b for android using armeabi uses Lua, and not LuaJIT for Android ARM64
PR merged ( #16090 ) |
thanks @ricardoquesada , are you sure luajit supports arm64, if so, then we don't have to use lua source code for iOS arm64. |
@minggo no, I'm not a 100% sure about it. |
@ricardoquesada what's the status of this issue? |
@minggo everything has been merged... but I couldn't make it work on Android 64 + Lua + Lua encrypted bytecodes. |
@ricardoquesada as i remember the byte code of luajit64 is not compatible with luajit32. Which means we should provide two versions of lua byte codes and load correct byte codes in different architecture. We should discuss how to fix it and not bring two much inconvenience. |
@minggo a ha! that explains it! what's your proposal for this? |
Currently we use luajit for 32-bit and lua for 64-bit because luajit doesn't support 64-bit before. If we want to use luajit both for 32-bit and 64-bit, then i think there are two solutions:
So i think we can use solution one. Just replace lua with luajit for 64-bit and use lua source code. |
actually, it should not be the source code but the compiled one without byte code. In cocos console, it would be something like "cocos luacompile -s ./lua -d ./src -e -k XXX -b XXX --disable-compile". Source code is not safe for publish coz your app will be easy hacked and the related data can be read and revised. The only problem is that the compiled code will be much larger than the bytecode. |
Compile it without byte code, what did you mean? |
According to forum : http://www.cocoachina.com/bbs/read.php?tid=335178, I use this method for publish in iOS. |
@fuyifan as thread you pasted said, it just encrypt the source codes, not compile to byte code. |
@ricardoquesada now the testing engineer reported that, it will be black screen when building and running |
@minggo yes, that was what I was saying about the encrypted bytecodes. Because it works ok on lua-empty-tests. I'm not aware of the internals of our Lua implementation... I also don't know how the encryption works... but I can take a look at it if you want. |
@ricardoquesada i don't know it uses bytecodes in lua-tests, i will take a look too. |
@ricardoquesada have you already modify |
Now android uses lua for 64bit, and it can not load the bytecodes generated by luajit, that's the reason lua-tests failed. I think we can just ignore the test case and create a new issue in v3.14 that:
|
@minggo ok. makes sense. just to know, what are we doing for iOS 64bit? Are we using LuaJIT 2.1.0-beta2? Whatever we are doing with iOS 64-bit, we should do for Android. |
@ricardoquesada i think we used luajit 2.1.0-alpha for iOS 64-bit. I created #16365 to trace it. |
@minggo ok. good to know, thanks. |
In the external folder are not prebuilts with 64bit support like arm64-v8a. Is there a way to get 64 bit support?
The text was updated successfully, but these errors were encountered: