Android:Uid&Pid,etc.

本文介绍了Android系统中进程标识符pid、用户标识符uid及线程标识符tid的概念与作用。详细解释了这些ID如何帮助系统管理和区分不同应用及进程,以及它们对于数据共享和安全性的意义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.pid:一个pid对应一个进程,系统会自动分配给新打开的进程一个独一无二的pid。进程终止后,pid会被系统回收。新产生的pid,一般都比之前所有的pid的进程号大,也就是说回收了的进程号不一定会被使用,而是分配新的pid给新进程。

2.uid:每一个不同的程序都有一个uid(而不是常说的那种用户id),一个应用里可以有多个pid,uid是在app安装是被系统赋予的,是不变的。除非卸载了重装,又会赋予一个uid。关于数据共享:默认情况下,Android会给每个程序分配一个普通级别互不相同的 Uid,如果用互相调用,只能是Uid相同才行,这就使得共享数据具有了一定安全性,每个软件之间是不能随意获得数据的。而同一个application 只有一个Uid,所以application下的Activity之间不存在访问权限的问题。

3.tid:thread id,线程id。


4.3之后android增添多用户功能,所以又有了另一种id,忘记叫什么了,有人知道请告之一声。


references:

http://blog.youkuaiyun.com/thl789/article/details/7602722

http://bbs.youkuaiyun.com/topics/380225593

http://www.cnblogs.com/perseus/articles/2354173.html

package com.taixin.txallremote.jni; import com.taixin.txallremote.utils.ALog; public final class H6RemoteIO { private static final String TAG = "H6RemoteIO"; private static final String libSoName = "txporting-i2c"; static { ALog.i(TAG, "load library: lib" + libSoName + ".so"); System.loadLibrary(libSoName); } public static void remoteOpen() { ALog.i(TAG, "txallremote init"); TxAllRemote_Init(); } public static void remoteLearnStart() { TxAllRemote_LearnStart(); } public static byte remoteReadData(byte[] buf, int count) { byte ack; ack = TxAllRemote_ReadData(buf, count); ALog.i(TAG, "ack:" + ack); return ack; } public static byte remoteWriteData(byte[] buf, int count) { byte ack; ack = TxAllRemote_WriteData(buf, count); return ack; } private static native void TxAllRemote_Init(); private static native void TxAllRemote_LearnStart(); private static native byte TxAllRemote_ReadData(byte[] paramArrayOfByte, int paramInt); private static native byte TxAllRemote_WriteData(byte[] paramArrayOfByte, int paramInt); } 07-23 08:31:32.909 22259 22282 D libEGL : loaded /system/lib64/egl/libEGL_emulation.so 07-23 08:31:32.910 22259 22259 I txallremote-H6RemoteIO: load library: libtxporting-i2c.so 07-23 08:31:32.929 22259 22259 D AndroidRuntime: Shutting down VM 07-23 08:31:32.929 22259 22282 I nemucooker: cook file1: /etc/mumu-configs/renderer.config, last modify time: Thu Aug 29 11:22:45 2024 07-23 08:31:32.929 22259 22282 I nemucooker: cook file2: /data/system/etc/mumu-configs/renderer.config, last modify time: Thu Jul 17 21:45:34 2025 07-23 08:31:32.929 22259 22282 I nemucooker: cook select file: /data/system/etc/mumu-configs/renderer.config 07-23 08:31:32.940 22259 22259 E AndroidRuntime: FATAL EXCEPTION: main 07-23 08:31:32.940 22259 22259 E AndroidRuntime: Process: com.taixin.txallremote, PID: 22259 07-23 08:31:32.940 22259 22259 E AndroidRuntime: java.lang.UnsatisfiedLinkError: dlopen failed: library "libtxporting-i2c.so" not found 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1086) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at java.lang.Runtime.loadLibrary0(Runtime.java:1006) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at java.lang.System.loadLibrary(System.java:1656) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at com.taixin.txallremote.jni.H6RemoteIO.<clinit>(H6RemoteIO.java:12) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at com.taixin.txallremote.jni.H6RemoteIO.remoteOpen(Unknown Source:0) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at com.taixin.txallremote.dataway.RemoteDirectIo.getInstance(RemoteDirectIo.java:27) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at com.taixin.txallremote.activity.TempHumiControlManagerActivity.onCreate(TempHumiControlManagerActivity.java:81) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8054) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8034) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1347) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3736) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3931) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2294) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8060) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) 07-23 08:31:32.940 22259 22259 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1091) 07-23 08:31:32.945 22259 22282 D libEGL : loaded /system/lib64/egl/libGLESv1_CM_emulation.so 07-23 08:31:32.946 22259 22282 D libEGL : loaded /system/lib64/egl/libGLESv2_emulation.so 07-23 08:31:32.961 22259 22282 E GraphicsEnv: Failed to get gpu service 07-23 08:31:33.000 22259 22259 I Process : Sending signal. PID: 22259 SIG: 9 07-23 08:31:33.025 1251 10643 I ActivityManager: Process com.taixin.txallremote (pid 22259) has died: fg TOP 07-23 08:31:33.025 1054 1054 I Zygote : Process 22259 exited due to signal 9 (Killed) 07-23 08:31:33.025 1251 1291 I libprocessgroup: Successfully killed process cgroup uid 10111 pid 22259 in 0ms 07-23 08:31:40.589 1091 1091 D opengl-gc: Check pid 22259: running 0
07-24
07-22 18:02:18.502 11831 11831 I Typeface: Preloading /system/fonts/Roboto-Regular.ttf 07-22 18:02:18.542 11831 11831 V GraphicsEnvironment: ANGLE Developer option for 'com.taixin.txallremote' set to: 'default' 07-22 18:02:18.542 11831 11831 V GraphicsEnvironment: ANGLE GameManagerService for com.taixin.txallremote: false 07-22 18:02:18.543 11831 11831 V GraphicsEnvironment: Neither updatable production driver nor prerelease driver is supported. 07-22 18:02:18.544 11831 11831 D NetworkSecurityConfig: No Network Security Config specified, using platform default 07-22 18:02:18.545 11831 11831 D NetworkSecurityConfig: No Network Security Config specified, using platform default 07-22 18:02:18.545 11831 11831 I : application init 07-22 18:02:18.552 11831 11853 D libEGL : loaded /system/lib/egl/libEGL_emulation.so 07-22 18:02:18.553 11831 11853 I nemucooker: cook file1: /etc/mumu-configs/renderer.config, last modify time: Thu Aug 29 11:22:45 2024 07-22 18:02:18.553 11831 11853 I nemucooker: cook file2: /data/system/etc/mumu-configs/renderer.config, last modify time: Thu Jul 17 21:45:34 2025 07-22 18:02:18.553 11831 11853 I nemucooker: cook select file: /data/system/etc/mumu-configs/renderer.config 07-22 18:02:18.566 11831 11853 D libEGL : loaded /system/lib/egl/libGLESv1_CM_emulation.so 07-22 18:02:18.568 11831 11853 D libEGL : loaded /system/lib/egl/libGLESv2_emulation.so 07-22 18:02:18.590 11831 11853 E GraphicsEnv: Failed to get gpu service 07-22 18:02:18.599 11831 11831 I txallremote-H6RemoteIO: load library: libtxporting-i2c.so 07-22 18:02:18.600 11831 11831 E ziparchive: Zip: lseek on fd -2 failed: Bad file descriptor 07-22 18:02:18.625 11831 11831 I txallremote-H6RemoteIO: txallremote init 07-22 18:02:18.626 11831 11831 E xin.txallremot: No implementation found for void com.taixin.txallremote.jni.H6RemoteIO.TxAllRemote_Init() (tried Java_com_taixin_txallremote_jni_H6RemoteIO_TxAllRemote_1Init and Java_com_taixin_txallremote_jni_H6RemoteIO_TxAllRemote_1Init__) 07-22 18:02:18.626 11831 11831 D AndroidRuntime: Shutting down VM 07-22 18:02:18.627 11831 11831 E AndroidRuntime: FATAL EXCEPTION: main 07-22 18:02:18.627 11831 11831 E AndroidRuntime: Process: com.taixin.txallremote, PID: 11831 07-22 18:02:18.627 11831 11831 E AndroidRuntime: java.lang.UnsatisfiedLinkError: No implementation found for void com.taixin.txallremote.jni.H6RemoteIO.TxAllRemote_Init() (tried Java_com_taixin_txallremote_jni_H6RemoteIO_TxAllRemote_1Init and Java_com_taixin_txallremote_jni_H6RemoteIO_TxAllRemote_1Init__) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at com.taixin.txallremote.jni.H6RemoteIO.TxAllRemote_Init(Native Method) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at com.taixin.txallremote.jni.H6RemoteIO.remoteOpen(H6RemoteIO.java:17) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at com.taixin.txallremote.dataway.RemoteDirectIo.getInstance(RemoteDirectIo.java:27) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at com.taixin.txallremote.activity.TempHumiControlManagerActivity.onCreate(TempHumiControlManagerActivity.java:81) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8054) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8034) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1347) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3736) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3931) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2294) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.os.Looper.loop(Looper.java:288) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:8060) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) 07-22 18:02:18.627 11831 11831 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1091) 07-22 18:02:18.651 11831 11831 I Process : Sending signal. PID: 11831 SIG: 9 07-22 18:02:18.673 1251 2855 I ActivityManager: Process com.taixin.txallremote (pid 11831) has died: fg TOP 07-22 18:02:18.673 1055 1055 I Zygote : Process 11831 exited due to signal 9 (Killed) 07-22 18:02:18.673 1251 1291 I libprocessgroup: Successfully killed process cgroup uid 10109 pid 11831 in 0ms 07-22 18:02:24.472 1091 1091 D opengl-gc: Check pid 11831: running 0
07-23
03-27 08:29:05.043 1 1 I init : starting service 'android.hardware.ebsw.algorithmsdk-service'... 03-27 08:29:05.054 1 1 I init : ... started service 'android.hardware.ebsw.algorithmsdk-service' has pid 4860 03-27 08:29:05.054 2366 2384 W com.skg.writer: ApkAssets: Deleting an ApkAssets object '<empty> and /product/app/WebViewGoogle64/WebViewGoogle64.apk' with 2 weak references 03-27 08:29:05.052 355 355 W hdcp2_tx_rx: type=1400 audit(0.0:2143): avc: denied { open } for path="/dev/block/mmcblk0boot0" dev="tmpfs" ino=986 scontext=u:r:hdcp2:s0 tcontext=u:object_r:uboot_block_device:s0 tclass=blk_file permissive=0 03-27 08:29:05.060 4860 4860 W ProcessState: Extra binder thread started, but 0 threads requested. Do not use *startThreadPool when zero threads are requested. 03-27 08:29:05.062 4860 4860 E android.hardware.ebsw.algorithmsdk-service: Failed to register IebswTest service 03-27 08:29:05.073 310 310 E SELinux : avc: denied { add } for pid=4860 uid=0 name=android.hardware.ebsw.algorithmsdk.IEbswTest/default scontext=u:r:hal_ebsw_algorithmsdk:s0 tcontext=u:object_r:default_android_service:s0 tclass=service_manager permissive=0 03-27 08:29:05.075 1 1 I init : Service 'android.hardware.ebsw.algorithmsdk-service' (pid 4860) exited with status 255 03-27 08:29:05.075 1 1 I init : Sending signal 9 to service 'android.hardware.ebsw.algorithmsdk-service' (pid 4860) process group... 03-27 08:29:05.076 1 1 I libprocessgroup: Removed cgroup /sys/fs/cgroup/uid_0/pid_4860 03-27 08:29:05.076 1 1 E init : process with updatable components 'android.hardware.ebsw.algorithmsdk-service' exited 4 times in 4 minutes 03-27 08:29:05.078 1 1 I init : processing action (sys.init.updatable_crashing=1) from (/system/etc/init/flags_health_check.rc:10) 03-27 08:29:05.079 1 1 I init : starting service 'exec 26 (/system/bin/flags_health_check UPDATABLE_CRASHING)'... 03-27 08:29:05.087 1
03-29
07-21 12:41:47.502 1144 2915 W ContextImpl: Calling a method in the system process without a qualified user: android.app.ContextImpl.startService:1669 com.android.server.policy.PhoneWindowManager.interceptKeyBeforeDispatching:2866 com.android.server.wm.InputManagerCallback.interceptKeyBeforeDispatching:336 com.android.server.input.InputManagerService.interceptKeyBeforeDispatching:1993 <bottom of call stack> 07-21 12:41:47.600 1144 2915 V WindowManager: keyCode == KeyEvent.KEYCODE_F1 --------- beginning of crash 07-21 12:41:48.699 11171 11189 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 11189 (Binder:11171_3), pid 11171 (com.zebra.sdl) 07-21 12:41:48.821 11404 11404 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** 07-21 12:41:48.822 11404 11404 F DEBUG : Build fingerprint: 'Zebra/ET45A/ET45L:11/11-17-20.00-RN-U00-STD-GSE-04/45:user/release-keys' 07-21 12:41:48.822 11404 11404 F DEBUG : Revision: '0' 07-21 12:41:48.823 11404 11404 F DEBUG : ABI: 'arm64' 07-21 12:41:48.824 11404 11404 F DEBUG : Timestamp: 2025-07-21 12:41:48+0800 07-21 12:41:48.824 11404 11404 F DEBUG : pid: 11171, tid: 11189, name: Binder:11171_3 >>> com.zebra.sdl <<< 07-21 12:41:48.824 11404 11404 F DEBUG : uid: 1000 07-21 12:41:48.824 11404 11404 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 07-21 12:41:48.825 11404 11404 F DEBUG : Cause: null pointer dereference 07-21 12:41:48.825 11404 11404 F DEBUG : x0 0000000000000000 x1 00000076f4446000 x2 0000000000000280 x3 0000000000000000 07-21 12:41:48.825 11404 11404 F DEBUG : x4 00000076f4446280 x5 0000000000000280 x6 9397958279807d7a x7 89918992878a8c8d 07-21 12:41:48.825 11404 11404 F DEBUG : x8 00000076f4446000 x9 0000000000000000 x10 b4000077b43a11d0 x11 0000000000070800 07-21 12:41:48.825 11404 11404 F DEBUG : x12 7a76737371747477 x13 787578787e797780 x14 0028fb4a1c8279e4 x15 0000000000000000 07-21 12:41:48.825 11404 11404 F DEBUG : x16 000000769cd64cf0 x17 00000079985a5480 x18 000000769f312000 x19 b4000077b43a11d0 07-21 12:41:48.825 11404 11404 F DEBUG : x20 b4000077c438cc10 x21 0000000000000000 x22 0000000000000000 x23 0000000000000280 07-21 12:41:48.825 11404 11404 F DEBUG : x24 00000076f4446000 x25 0000000000000000 x26 0000000000000000 x27 00000076a03f4000 07-21 12:41:48.825 11404 11404 F DEBUG : x28 0000000000000000 x29 00000076a03f3720 07-21 12:41:48.826 11404 11404 F DEBUG : lr 000000769cd5c5a0 sp 00000076a03f36a0 pc 00000079985a5408 pst 0000000020000000 07-21 12:41:48.855 11404 11404 F DEBUG : backtrace: 07-21 12:41:48.855 11404 11404 F DEBUG : #00 pc 000000000004a408 /apex/com.android.runtime/lib64/bionic/libc.so (__memcpy+248) (BuildId: 3dd99fe7a181e7428f58a10f32f9fd0e) 07-21 12:41:48.856 11404 11404 F DEBUG : #01 pc 000000000000559c /system/lib64/libbarcodereader90.so (JNIBCReaderContext::copyAndPost(_JNIEnv*, android::sp<android::IMemory> const&, int)+376) (BuildId: 9f598355db3423c5cf018d4177259431) 07-21 12:41:48.856 11404 11404 F DEBUG : #02 pc 0000000000005944 /system/lib64/libbarcodereader90.so (JNIBCReaderContext::postData(int, android::sp<android::IMemory> const&, camera_frame_metadata*)+164) (BuildId: 9f598355db3423c5cf018d4177259431) 07-21 12:41:48.856 11404 11404 F DEBUG : #03 pc 0000000000041848 /system/lib64/libcamera_client.so (android::Camera::dataCallback(int, android::sp<android::IMemory> const&, camera_frame_metadata*)+144) (BuildId: 8b1f1779ad096e52011dd41ceea7925c) 07-21 12:41:48.856 11404 11404 F DEBUG : #04 pc 00000000000578ac /system/lib64/libcamera_client.so (android::hardware::BnCameraClient::onTransact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+1380) (BuildId: 8b1f1779ad096e52011dd41ceea7925c) 07-21 12:41:48.856 11404 11404 F DEBUG : #05 pc 0000000000049860 /system/lib64/libbinder.so (android::BBinder::transact(unsigned int, android::Parcel const&, android::Parcel*, unsigned int)+232) (BuildId: 097b765cd1046eeb5516049d57e24f53) 07-21 12:41:48.856 11404 11404 F DEBUG : #06 pc 00000000000523a0 /system/lib64/libbinder.so (android::IPCThreadState::executeCommand(int)+1032) (BuildId: 097b765cd1046eeb5516049d57e24f53) 07-21 12:41:48.856 11404 11404 F DEBUG : #07 pc 0000000000051ee4 /system/lib64/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+156) (BuildId: 097b765cd1046eeb5516049d57e24f53) 07-21 12:41:48.856 11404 11404 F DEBUG : #08 pc 0000000000052724 /system/lib64/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+60) (BuildId: 097b765cd1046eeb5516049d57e24f53) 07-21 12:41:48.857 11404 11404 F DEBUG : #09 pc 0000000000078b90 /system/lib64/libbinder.so (android::PoolThread::threadLoop()+24) (BuildId: 097b765cd1046eeb5516049d57e24f53) 07-21 12:41:48.857 11404 11404 F DEBUG : #10 pc 000000000001567c /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+260) (BuildId: b81fad2b6b7b7f85c6217d2cb80c9e61) 07-21 12:41:48.857 11404 11404 F DEBUG : #11 pc 00000000000a0dac /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140) (BuildId: 8e83d81f587b91e2b3599dfb182e7d9c) 07-21 12:41:48.857 11404 11404 F DEBUG : #12 pc 0000000000014f14 /system/lib64/libutils.so (thread_data_t::trampoline(thread_data_t const*)+412) (BuildId: b81fad2b6b7b7f85c6217d2cb80c9e61) 07-21 12:41:48.857 11404 11404 F DEBUG : #13 pc 00000000000b0bd8 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: 3dd99fe7a181e7428f58a10f32f9fd0e) 07-21 12:41:48.857 11404 11404 F DEBUG : #14 pc 00000000000505d0 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 3dd99fe7a181e7428f58a10f32f9fd0e)
07-22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值