make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb]

文章详细介绍了在Android开发过程中遇到的libncurses库缺失导致的编译错误,并提供了通过sudo apt-get install libncurses5-dev解决该问题的方法,确保了adb工具的正常编译。

============== Error messages
=============================================

host Java: traceview (out/host/common/obj/JAVA_LIBRARIES/
traceview_intermediates/classes)
host Prebuilt: activitycreator (out/host/linux-x86/obj/EXECUTABLES/
activitycreator_intermediates/activitycreator)
Install: out/host/linux-x86/bin/activitycreator
host C: adb <= system/core/adb/adb.c
host C: adb <= system/core/adb/console.c
host C: adb <= system/core/adb/transport.c
host C: adb <= system/core/adb/transport_local.c
host C: adb <= system/core/adb/transport_usb.c
host C: adb <= system/core/adb/commandline.c
host C: adb <= system/core/adb/adb_client.c
host C: adb <= system/core/adb/sockets.c
host C: adb <= system/core/adb/services.c
host C: adb <= system/core/adb/file_sync_client.c
system/core/adb/file_sync_client.c: In function ‘sync_recv’:
system/core/adb/file_sync_client.c:466: warning: passing argument 1 of
‘mkdirs’ discards qualifiers from pointer target type
host C: adb <= system/core/adb/get_my_path_linux.c
host C: adb <= system/core/adb/usb_linux.c
host C: adb <= system/core/adb/shlist.c
host Executable: adb (out/host/linux-x86/obj/EXECUTABLES/
adb_intermediates/adb)
/usr/bin/ld: cannot find -lncurses
collect2: ld returned 1 exit status
make: *** [out/host/linux-x86/obj/EXECUTABLES/adb_intermediates/adb]
Error 1
ubuntu@ubuntu-android:~/android_1_0_r1$

-------------------------------------------------------------------------------


I think I found the answer by myself already.

$sudo apt-get install libncurses5-dev

This is working for me.U can try it!-------------------------------------------------------------------------------



['vendor/qcom/proprietary/data/ipa_fws/elf_creator.py', '--gsi_fw', 'vendor/qcom/proprietary/data/ipa_fws/fw_mhi_ipa_v4.2.bin', '--gsi_fw_address', '0x05808000', '--gsi_fw_mem_size', '0x4000', '--hps', 'vendor/qcom/proprietary/data/ipa_fws/hps.bin', '--hps_addr', '0x0585E080', '--dps', 'vendor/qcom/proprietary/data/ipa_fws/dps.bin', '--dps_addr', '0x0585E000', '--outfile', 'out/ipa_tmp_gsi_ipa_fws/ipa_fws.elf'] IPA_FWS: Creating ipa ELF image OUT folders IPA_FWS: install unsigned ipa_fws.elf at out/target/product/bengal_515/ipa/unsigned IPA_FWS: install signed ipa_fws.elf at out/target/product/bengal_515/ipa/signed BIN out/ipa_tmp_gsi_ipa_fws/ipa_fws.mdt BIN out/ipa_tmp_gsi_ipa_fws/ipa_fws.b00 BIN out/ipa_tmp_gsi_ipa_fws/ipa_fws.b01 BIN out/ipa_tmp_gsi_ipa_fws/ipa_fws.b02 BIN out/ipa_tmp_gsi_ipa_fws/ipa_fws.b03 BIN out/ipa_tmp_gsi_ipa_fws/ipa_fws.b04 ######### PRIVATE_FW_FILE_NAME ipa_fws <INFO> 2025/06/17 13:28:39 mode: prod <INFO> 2025/06/17 13:28:39 task client version: 1.1.0 <INFO> 2025/06/17 13:28:39 uuid: 1750230474894106832 <INFO> 2025/06/17 13:28:41 sign: success ipa_fw sign succeed [ 4% 3909/82765] build out/target/product/bengal_515/gen/SHARED_LIBRARIES/com.qti.chiusecaseselector_intermediates/g_pipelines.cpp folder:out/target/product/bengal_515/gen/SHARED_LIBRARIES/com.qti.chiusecaseselector_intermediates/kamorta is created Generating xml for each lunch shared target: kamorta Time to run: get_segments - 0.332 TransitionModeFile vendor/qcom/proprietary/chi-cdk/oplus/oem/qcom/topology/mimas/usecase-components//transition_modes/transition_modes.xml ParseTransitionModeFile vendor/qcom/proprietary/chi-cdk/oplus/oem/qcom/topology/mimas/usecase-components//transition_modes/transition_modes.xml [ 4% 3910/82765] build out/target/product/bengal_515/abl.elf FAILED: out/target/product/bengal_515/abl.elf /bin/bash -c "(echo \"Generating signed appsbl using secimage v1 tool\" ) && (rm -rf out/target/product/bengal_515/signed ) && (rm -rf out/target/product/bengal_515/signed_ecc ) && (SECIMAGE_LOCAL_DIR=vendor/qcom/proprietary/sectools USES_SEC_POLICY_MULTIPLE_DEFAULT_SIGN=1 USES_SEC_POLICY_DEFAULT_SUBFOLDER_SIGN= USES_SEC_POLICY_INTEGRITY_CHECK=1 python vendor/qcom/proprietary/sectools/sectools_builder.py -i device/qcom/bengal-kernel/kernel-abl/abl-user/unsigned_abl.elf -t out/target/product/bengal_515/signed -g abl --soc_vers=0x9007 --config=vendor/qcom/proprietary/sectools/config/integration/secimagev3.xml --install_file_name=abl.elf --install_base_dir=out/target/product/bengal_515 > out/target/product/bengal_515/secimage.log 2>&1 ) && (echo \"Completed secimage v1 signed appsbl (ABL) (logs in out/target/product/bengal_515/secimage.log)\" ) && (python /work/secureboot_sign/osign_entry.py -p SM6225 -i out/target/product/bengal_515/abl.elf )" Generating signed appsbl using secimage v1 tool Completed secimage v1 signed appsbl (ABL) (logs in out/target/product/bengal_515/secimage.log) /bin/sh: ./sign_client_v5: No such file or directory [OPLUS SecureBoot Signature Framework] oplus secure boot sign start: ./sign_client_v5 --platform=sm6225 --android_version=r --input_path=/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515 --input_name=abl.elf --output_path=/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/oplus_signed ************ * platform * SM6225 * target * abl.elf * output * /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/oplus_signed/abl.elf * extopt * None ************ Traceback (most recent call last): File "/work/secureboot_sign/osign_entry.py", line 44, in <module> oplus_signer.sign() File "/work/secureboot_sign/osign.py", line 103, in sign raise Exception("oplus secure boot sign failed") Exception: oplus secure boot sign failed [ 4% 3911/82765] //system/tools/aidl:aidl-cpp clang++ main.cpp [linux_glibc] [ 4% 3912/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_IBinderRustNdkInteropTest [ 4% 3913/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_IBinderVendorDoubleLoadTest [ 4% 3914/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_aaudio-aidl [ 4% 3915/82765] Dist: out/dist/module-info.json [ 4% 3916/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_aidl-test-fixedsizearray [ 4% 3917/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_aidl-test-interface [ 4% 3918/82765] target Prebuilt: adb_debug.prop (out/target/product/bengal_515/obj/ETC/adb_debug.prop_intermediates/adb_debug.prop) [ 4% 3919/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_aidl-test-interface-permission [ 4% 3920/82765] Install out/target/product/bengal_515/vendor/firmware/a730_zap.mbn [ 4% 3921/82765] Install out/target/product/bengal_515/vendor/firmware/a730_zap.mdt [ 4% 3922/82765] host Prebuilt: aidl_hash_gen (out/host/linux-x86/obj/EXECUTABLES/aidl_hash_gen_intermediates/aidl_hash_gen) [ 4% 3923/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_aidl_test_loggable_interface [ 4% 3924/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_aidl_test_unstable_parcelable [ 4% 3925/82765] build qssi_violators QSSI: not enabled for bengal_515 target as /release/QSSI/QSSI_enforced_targets_list.txt was not found. [ 4% 3926/82765] AIDL metadata: out/soong/.intermediates/system/tools/aidl/build/aidl_metadata_json/metadata_android-automotive-test-stable-parcelable-aidl [ 4% 3927/82765] Install: out/target/product/bengal_515/vendor/firmware/ipa_fws.elf [ 4% 3928/82765] Copy: out/target/product/bengal_515/obj/SHARED_LIBRARIES/com.qti.chiusecaseselector_intermediates/g_pipelines.cpp [ 4% 3929/82765] build out/target/product/bengal_515/obj/DLKM_OBJ/build.timestamp ======================================================== Prepare to compile modules from ..//device/qcom/bengal-kernel + mkdir -p /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/msm-kernel/ + cp ..//device/qcom/bengal-kernel/.config ..//device/qcom/bengal-kernel/Module.symvers /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/msm-kernel/ + '[' -z '' -a '!' ..//device/qcom/bengal-kernel/host -ef /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/host ']' + rm -rf /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/host + '[' -e ..//device/qcom/bengal-kernel/host -a '!' -e /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/host ']' + cp -r ..//device/qcom/bengal-kernel/host /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform + cd ./msm-kernel + make O=/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/msm-kernel LLVM=1 DEPMOD=depmod DTC=/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/kernel_platform/build/kernel/build-tools/path/linux-x86/dtc JS_KERNEL_ROOT=/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/vendor/qcom/opensource/ecosw/aks_js_drivers CONFIG_AKS_ADC_JOYSTICK=m CONFIG_AKS_ADS1015=m MODNAME=aks_js_dlkm BOARD_PLATFORM=bengal ANDROID_BUILD_TOP=/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd olddefconfig make[1]: Entering directory '/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/msm-kernel' GEN Makefile HOSTCC scripts/basic/fixdep HOSTCC scripts/basic/cc-wrapper # # No change to .config # make[1]: Leaving directory '/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/msm-kernel' + set +x make: Entering directory '/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/kernel_platform/msm-kernel' make[1]: Entering directory '/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/msm-kernel' SYNC include/config/auto.conf.cmd GEN Makefile GEN Makefile HOSTCC scripts/dtc/flattree.o HOSTCC scripts/dtc/dtc.o HOSTCC scripts/dtc/fstree.o HOSTCC scripts/dtc/livetree.o HOSTCC scripts/dtc/treesource.o HOSTCC scripts/dtc/data.o HOSTCC scripts/dtc/srcpos.o HOSTCC scripts/dtc/util.o HOSTCC scripts/dtc/checks.o HOSTCC scripts/dtc/dtc-parser.tab.o HOSTCC scripts/dtc/dtc-lexer.lex.o HOSTCC scripts/dtc/libfdt/fdt.o HOSTCC scripts/dtc/libfdt/fdt_wip.o HOSTCC scripts/dtc/libfdt/fdt_ro.o HOSTCC scripts/dtc/libfdt/fdt_sw.o HOSTCC scripts/dtc/libfdt/fdt_rw.o HOSTCC scripts/dtc/libfdt/fdt_strerror.o HOSTCC scripts/dtc/libfdt/fdt_addresses.o HOSTCC scripts/dtc/libfdt/fdt_overlay.o HOSTCC scripts/dtc/libfdt/fdt_empty_tree.o HOSTCC scripts/dtc/fdtoverlay.o DESCEND bpf/resolve_btfids HOSTLD scripts/dtc/fdtoverlay HOSTLD scripts/dtc/dtc CALL /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/kernel_platform/msm-kernel/scripts/atomic/check-atomics.sh CALL /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/kernel_platform/msm-kernel/scripts/checksyscalls.sh make[1]: Leaving directory '/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/obj/DLKM_OBJ/kernel_platform/msm-kernel' make: Leaving directory '/work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/kernel_platform/msm-kernel' ======================================================== Building external modules and installing them into staging directory [ 4% 3930/82765] APK certs list: out/target/product/bengal_515/obj/PACKAGING/apkcerts_intermediates/bengal_515-apkcerts-1750136691309.txt [ 4% 3931/82765] build out/target/product/bengal_515/product_packages.txt [ 4% 3932/82765] Package GPL sources: out/target/product/bengal_515/obj/PACKAGING/gpl_source_intermediates/gpl_source.tgz [ 4% 3933/82765] Install: out/target/product/bengal_515/odm/lib64/camera/camx_buildbins Generating default tuning project. ( 1/1 ) Build DefaultTuningProject ... Done Generating output folders. ( 1/1 ) Build OutputDirs ... Done Generating binaries. ( 1/26 ) Build com.qti.sensormodule.qtech_s5khm6_rear_a303 ... Done ( 2/26 ) Build copy of com.qti.sensormodule.qtech_s5khm6_rear_a303 ... Done ( 3/26 ) Build com.qti.sensormodule.zoe_hi846w_front ... Done ( 4/26 ) Build copy of com.qti.sensormodule.zoe_hi846w_front ... Done ( 5/26 ) Build com.qti.sensormodule.zoe_c2519_mono ... Done ( 6/26 ) Build copy of com.qti.sensormodule.zoe_c2519_mono ... Done ( 7/26 ) Build com.qti.sensormodule.zoe_sc201acs_mono ... Done ( 8/26 ) Build copy of com.qti.sensormodule.zoe_sc201acs_mono ... Done ( 9/26 ) Build com.qti.tuned.default ... Done ( 10/26 ) Build copy of com.qti.tuned.default ... Done ( 11/26 ) Build com.qti.tuned.zoe_hi846w_front ... Done ( 12/26 ) Build copy of com.qti.tuned.zoe_hi846w_front ... Done ( 13/26 ) Build com.qti.tuned.qtech_s5khm6_rear_a303 ... Done ( 14/26 ) Build copy of com.qti.tuned.qtech_s5khm6_rear_a303 ... Done ( 15/26 ) Build com.qti.tuned.zoe_c2519_mono ... Done ( 16/26 ) Build copy of com.qti.tuned.zoe_c2519_mono ... Done ( 17/26 ) Build com.qti.tuned.zoe_sc201acs_mono ... Done ( 18/26 ) Build copy of com.qti.tuned.zoe_sc201acs_mono ... Done ( 19/26 ) Build fdconfigvideo ... Done ( 20/26 ) Build copy of fdconfigvideo ... The original path is not existed: /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/odm/lib/camera/fdconfigvideo.bin Done ( 21/26 ) Build fdconfigvideolite ... Done ( 22/26 ) Build copy of fdconfigvideolite ... The original path is not existed: /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/odm/lib/camera/fdconfigvideolite.bin Done ( 23/26 ) Build fdconfigpreview ... Done ( 24/26 ) Build copy of fdconfigpreview ... The original path is not existed: /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/odm/lib/camera/fdconfigpreview.bin Done ( 25/26 ) Build fdconfigpreviewlite ... Done ( 26/26 ) Build copy of fdconfigpreviewlite ... The original path is not existed: /work/jenkins_dailybuild_slave/workspace/Zoe_23699_15.0_cs_master_dailybuild/source/vnd/out/target/product/bengal_515/odm/lib/camera/fdconfigpreviewlite.bin Done ninja: output file missing after successful execution: out/target/product/bengal_515/odm/lib64/camera/camx_buildbins ninja: build stopped: subcommand failed. 13:29:16 ninja failed with: exit status 1 #### failed to build some targets (05:50 (mm:ss)) #### real 5m49.860s user 36m44.065s sys 5m35.720s ============================================ [build.sh]: FAILED: make dist -j24 ENABLE_AB=true SYSTEMEXT_SEPARATE_PARTITION_ENABLE=true BOARD_DYNAMIC_PARTITION_ENABLE=true ENABLE_VIRTUAL_AB=true SHIPPING_API_LEVEL=29 SKIP_ABI_CHECKS=true ============================================ SCM.IT: make ap new ... failed, result is 1. SCM.IT: mk_android runtime:00:24:26 SCM.IT: ####### mk_android ####### END SCM.IT: mk_android failed, result is 1. SCM.IT: makeOPPO runtime:02:28:58 SCM.IT: ####### makeOPPO ####### END SCM.IT: makeOPPO failed, result is 1. 这是我的编译报错日志 怎么解决这个编译报错
06-19
<think>嗯,用户遇到了在Ubuntu18上编译AOSP9时出现aapt编译失败的特定错误,需要针对性解决方案。从提交的引用内容看,用户已经收集了相关线索:引用1提到64位环境下缺少32位兼容库的问题;引用2和引用3分别涉及X11头文件缺失和flex工具兼容性问题;引用4则暗示64位环境编译32位目标时的库文件链接问题。结合这些线索和用户当前具体的失败点(out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/Main.o),问题可能集中在三个方面:首先是64位环境对32位编译的支持不足,其次是编译工具链的依赖缺失,最后可能是环境变量设置不当。尤其值得注意的是aapt工具在编译过程中会调用很多本地库,而X11开发库(libx11-dev)的缺失在引用2中已被证实会导致类似错误。用户的上个问题询问的是整个AOSP9编译流程,这次则聚焦在具体模块编译失败,说明用户已进入实际编译阶段且卡在工具链构建环节。考虑到aapt是资源打包的关键工具,这个问题必须优先解决。需要提供阶梯式解决方案:先检查基础依赖,再验证工具链,最后处理可能的符号链接问题。特别要注意引用3提到的flex工具崩溃案例,虽然错误信息不同,但同样是工具链问题。用户环境可能存在多种编译工具版本冲突,因此需要确认flex和bison的版本兼容性。此外,引用4暗示的32位库链接问题非常关键,因为AOSP9的host工具仍包含32位组件,解决方案中必须包含多架构支持检查和32位库安装验证。对于这个具体错误,最直接的突破口应该是:1)确保所有64位+32位混合编译依赖已安装(如ia32-libs替代方案)2)检查SDL/X11头文件是否存在3)验证libstdc++的32位符号链接分步验证的方式能帮助用户精准定位缺失环节。</think> 针对Ubuntu 18编译AOSP 9时`FAILED: out/host/linux-x86/obj/EXECUTABLES/aapt_intermediates/Main.o`错误,请按以下步骤解决: --- ### **解决方案** #### **1. 安装32位兼容库(关键步骤)** ```bash sudo apt-get update # 安装多架构支持 sudo dpkg --add-architecture i386 # 安装核心32位库 sudo apt-get install libc6:i386 libstdc++6:i386 zlib1g:i386 # 安装开发依赖项 sudo apt-get install gcc-multilib g++-multilib lib32z1-dev libx11-dev:i386 ``` > **说明**:AOSP工具链含32位组件,需32位运行库支持[^1][^4] #### **2. 验证库文件链接** ```bash # 检查32位库链接(重点确认libstdc++) ls -l /usr/lib/i386-linux-gnu/libstdc++* # 若缺失链接,手动创建(需root权限) sudo ln -s /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/i386-linux-gnu/libstdc++.so ``` #### **3. 修复X11头文件缺失** ```bash # 安装X11开发包(解决Xlib.h报错[^2]) sudo apt-get install libx11-dev libxext-dev libxtst-dev ``` #### **4. 清理并重试编译** ```bash # 清除错误编译缓存 make clean # 单线程重试编译(定位问题) make -j1 aapt ``` > 成功后恢复并行编译:`make -j$(nproc)` --- ### **进阶排查** 若仍失败,检查以下位置: 1. **编译日志细节** ```bash # 查看完整报错信息 cat out/error.log | grep -C 10 "Main.o" ``` 2. **Python环境验证** ```bash # 确认使用Python2(AOSP9强制要求) export PYTHON_VERSION=python2.7 python --version ``` 3. **内存限制调整** ```bash # 防止OOM崩溃(特别是<32GB内存设备) export JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4096m" ./prebuilts/sdk/tools/jack-admin kill-server ./prebuilts/sdk/tools/jack-admin start-server ``` --- ### **预防措施** ```diff # 完整依赖清单(新增32位相关包) sudo apt install libc6-dev-i386 lib32stdc++6 lib32z1-dev \ + libx11-dev:i386 lib32ncurses5-dev gcc-multilib g++-multilib ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值