Android 16KB 页面大小特性支持 & 引擎库更新

啥叫abi

求能测试16kb模拟器的安装方法和资源,我升级不了对应版本,没法启动16kb,开发者选项里面没有那功能

153be92ec08537280c678c9d38ce18e8
3.8.7版本正常, 该版本的3.8.8 绑定掉落, 掉落的是有关联的预制体, 取消关联是能绑定, UIDryPlay是自定义组件, 不弄成数组是能绑定,
仅一种情况绑定掉落, 就是自定义组件数组, 且绑定的是有关联的预制体, 知道怎么解决吗~
重新刷新就掉落, git对比3.8.7的时候是没修改的

解决了没。我也遇到一样的问题

好吧。解决了。原来是要合并文件夹。不是替换

需要更新android studio,至少是2024 3 月的版本

image 就是这个版本

也没显示出关于16kb的信息 按要求新建的模拟器里面也没有打开16kb的开关,模拟器参考这个链接来的https://developer.android.com/guide/practices/page-sizes?hl=zh-cn#test

模拟器本身有带 16kb的,android 16后,没这个开关。你用adb 检查是否有启用16kb特性

adb shell getconf PAGE_SIZE返回16384,然后直接把apk丢到模拟器测试,启动运行正常不崩溃就可以了吗


打扰一下,问一下这个libegl显示不符合怎么办

为啥你的会显示出来,我把androidstudio更到最新都没有显示

那你的是不是已经弄好了

我的是3.8.7,为什么ndk不能换23以上啊

不管提示,我是3.8.2,上传谷■已经通过了,但是没在16kb环境中测过

1赞

那个是提示问题,可以换。第一楼有提供 388的下载链接,可以使用388的方案。

1赞

你用的是ndk28吗,我这里运行报错说3.8.7用28兼容出问题了

28.2.13676358

再问下大佬,改了引擎源码打其他不用支持16kb的包有影响吗

没影响,这个有用真机验证过,可以正常工作

1.9.3的版本升级NDK28.2.13676358,老游戏不好升级引擎有办法解决么
C/C++: ld.lld: error: undefined symbol: std::__throw_bad_function_call()

C/C++: >>> referenced by builtins-number-gen.o:(std::_Function_handler<v8::internal::compiler::Node* (v8::internal::compiler::Node*, v8::internal::compiler::Node*), void v8::internal::NumberBuiltinsAssembler::BitwiseShiftOpv8::internal::BinaryOpDescriptor(std::function<v8::internal::compiler::Node* (v8::internal::compiler::Node*, v8::internal::compiler::Node*)>, v8::internal::Signedness)::‘lambda’(v8::internal::compiler::Node*, v8::internal::compiler::Node*)>::_M_invoke(std::_Any_data const&, v8::internal::compiler::Node*, v8::internal::compiler::Node*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_builtins_generators.a

C/C++: >>> referenced by builtins-string-gen.o:(v8::internal::StringBuiltinsAssembler::StringIndexOf(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::compiler::Node*, std::function<void (v8::internal::compiler::Node*)>)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_builtins_generators.a

C/C++: >>> referenced by builtins-string-gen.o:(v8::internal::StringBuiltinsAssembler::MaybeCallFunctionAtSymbol(v8::internal::compiler::Node*, v8::internal::compiler::Node*, v8::internal::Handlev8::internal::Symbol, std::function<v8::internal::compiler::Node* ()> const&, std::function<v8::internal::compiler::Node* (v8::internal::compiler::Node*)> const&)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_builtins_generators.a

C/C++: >>> referenced 20 more times

C/C++: ld.lld: error: undefined symbol: __sync_add_and_fetch_4

C/C++: >>> referenced by threads_pthread.c

C/C++: >>> threads_pthread.o:(CRYPTO_atomic_add) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libcrypto.a

C/C++: ld.lld: error: undefined symbol: std::__throw_length_error(char const*)

C/C++: >>> referenced by code-generator-arm.o:(v8::internal::compiler::(anonymous namespace)::AddPendingPushRegister(v8::internal::MacroAssembler*, v8::internal::compiler::FrameAccessState*, v8::internal::ZoneVectorv8::internal::Register*, v8::internal::Register)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(std::vector<v8::internal::wasm::WasmImport, std::allocatorv8::internal::wasm::WasmImport>::reserve(unsigned int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(std::vector<v8::internal::wasm::WasmFunction, std::allocatorv8::internal::wasm::WasmFunction>::reserve(unsigned int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 178 more times

C/C++: ld.lld: error: undefined symbol: std::ios_base::ios_base()

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::AppendInteger(int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 39 more times

C/C++: ld.lld: error: undefined symbol: std::basic_ios<char, std::char_traits>::init(std::basic_streambuf<char, std::char_traits>*)

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 89 more times

C/C++: ld.lld: error: undefined symbol: std::locale::locale()

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::AppendInteger(int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 35 more times

C/C++: ld.lld: error: undefined symbol: std::basic_ostream<char, std::char_traits>& std::__ostream_insert<char, std::char_traits>(std::basic_ostream<char, std::char_traits>&, char const*, int)

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by wasm-opcodes.o:(v8::internal::wasm::operator<<(std::ostream&, v8::internal::Signaturev8::internal::MachineRepresentation const&)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by wasm-opcodes.o:(v8::internal::wasm::operator<<(std::ostream&, v8::internal::Signaturev8::internal::MachineRepresentation const&)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 2263 more times

C/C++: ld.lld: error: undefined symbol: std::basic_stringbuf<char, std::char_traits, std::allocator>::str() const

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::AppendInteger(int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::SetInteger(char const*, int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 45 more times

C/C++: ld.lld: error: undefined symbol: std::locale::~locale()

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::AppendInteger(int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 52 more times

C/C++: ld.lld: error: undefined symbol: std::ios_base::~ios_base()

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::AppendInteger(int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 51 more times

C/C++: ld.lld: error: undefined symbol: std::string::_Rep::_M_destroy(std::allocator const&)

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by wasm-result.o:(v8::internal::wasm::ErrorThrower::~ErrorThrower()) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 247 more times

C/C++: ld.lld: error: undefined symbol: vtable for std::basic_ios<char, std::char_traits>

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::AppendInteger(int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 47 more times

C/C++: >>> the vtable symbol may be undefined because the class is missing its key function (see Missing Key Function — lld 22.0.0git documentation)

C/C++: ld.lld: error: undefined symbol: VTT for std::basic_ostringstream<char, std::char_traits, std::allocator>

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by log.o:(v8::internal::Logger::CodeDeoptEvent(v8::internal::Code*, v8::internal::CodeEventListener::DeoptKind, unsigned char*, int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 16 more times

C/C++: ld.lld: error: undefined symbol: vtable for std::basic_ostringstream<char, std::char_traits, std::allocator>

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by log.o:(v8::internal::Logger::CodeDeoptEvent(v8::internal::Code*, v8::internal::CodeEventListener::DeoptKind, unsigned char*, int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 16 more times

C/C++: >>> the vtable symbol may be undefined because the class is missing its key function (see Missing Key Function — lld 22.0.0git documentation)

C/C++: ld.lld: error: undefined symbol: vtable for std::basic_streambuf<char, std::char_traits>

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::AppendInteger(int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 46 more times

C/C++: >>> the vtable symbol may be undefined because the class is missing its key function (see Missing Key Function — lld 22.0.0git documentation)

C/C++: ld.lld: error: undefined symbol: vtable for std::basic_stringbuf<char, std::char_traits, std::allocator>

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::VerifyFunctionBody(v8::internal::AccountingAllocator*, unsigned int, v8::internal::wasm::ModuleBytesEnv*, v8::internal::wasm::WasmFunction*) (.isra.384)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by traced-value.o:(v8::tracing::TracedValue::AppendInteger(int)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 26 more times

C/C++: >>> the vtable symbol may be undefined because the class is missing its key function (see Missing Key Function — lld 22.0.0git documentation)

C/C++: ld.lld: error: undefined symbol: std::string::_Rep::_S_empty_rep_storage

C/C++: >>> referenced by lithium-arm.o:(v8::internal::LStoreNamedField::PrintDataTo(v8::internal::StringStream*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by wasm-result.o:(v8::internal::wasm::ErrorThrower::~ErrorThrower()) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::Result<std::unique_ptr<v8::internal::wasm::WasmModule, std::default_deletev8::internal::wasm::WasmModule>>::Error(char const*, …)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 160 more times

C/C++: ld.lld: error: undefined symbol: std::string::resize(unsigned int, char)

C/C++: >>> referenced by wasm-result.o:(v8::internal::wasm::(anonymous namespace)::VPrintFToString(std::string&, unsigned int, char const*, std::__va_list)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by wasm-result.o:(v8::internal::wasm::(anonymous namespace)::VPrintFToString(std::string&, unsigned int, char const*, std::__va_list)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: ld.lld: error: undefined symbol: std::string::_M_leak_hard()

C/C++: >>> referenced by wasm-result.o:(v8::internal::wasm::(anonymous namespace)::VPrintFToString(std::string&, unsigned int, char const*, std::__va_list)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by module-decoder.o:(v8::internal::wasm::(anonymous namespace)::ModuleDecoder::FinishDecoding(bool)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by pipeline.o:(v8::internal::compiler::(anonymous namespace)::TraceSchedule(v8::internal::CompilationInfo*, v8::internal::compiler::Schedule*)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 6 more times

C/C++: ld.lld: error: undefined symbol: std::string::swap(std::string&)

C/C++: >>> referenced by wasm-result.o:(v8::internal::wasm::ResultBase::error(unsigned int, std::string)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by wasm-objects.o:(v8::internal::WasmCompiledModule::GetAsmJsSourcePosition(v8::internal::Handlev8::internal::WasmCompiledModule, unsigned int, unsigned int, bool)) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced by wasm-module.o:(AsyncCompileJob::DecodeModule::Run()) in archive /Applications/CocosCreator.app/Contents/Resources/cocos2d-x/external/android/armeabi-v7a/libv8_base.a

C/C++: >>> referenced 8 more times

C/C++: ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)

C/C++: clang++: error: linker command failed with exit code 1 (use -v to see invocation)

C/C++: make: *** [/Users/windymini2022/workspace/android-sdk/ndk/28.2.13676358/build/core/build-binary.mk:661: /Volumes/stghub/workspace/xiuzhen/xiuzhen-mobile/build/jsb-link/frameworks/runtime-src/proj.android-studio/app/build/intermediates/cxx/Release/3tr2e3g3/obj/local/armeabi-v7a/libcocos2djs.so] Error 1

Application.mk
升级后gnustl_static不支持了
截屏2025-10-10 10.07.06