NDK14_Linux基础:常见命令

本文档详细介绍了NDK开发中常见的命令操作,包括文件的创建、复制、删除,以及目录的操作。同时深入讲解了文件权限的概念,如读、写、执行权限的设置与查看,并提供了具体的权限修改命令。此外,还涵盖了用户与组的管理,包括用户和组的创建、删除及权限分配。

NDK开发汇总

一 常见命令

  • reset 清空命令行:
    文件操作:
  • ls 显示文件
  • 显示列表 ls -l
  • ls -la 所有
  • ls -l ja* 通配符查找

- 创建文件

  • touch today.c

  • vim src.txt

  • i进入编辑

  • esc 退出编辑

  • shift + :保存

  • wq 退出
    wq!强制保存退出

  • 复制文件
    cp src.txt dest.txt
    cp -i src.txt dest.txt 询问
    cp src.txt . 复制到当前目录
    cp -R 目录 dest 复制整个目录到指定路径
    cp c_?1 …/ 通配符复制到上级目录

  • mkdir 文件夹名称:创建文件夹

  • cd … 退出当前目录

  • 删除文件
    rm file

  • 删除目录
    rm -rf 目录

  • 查看文件类型:
    file 文件

  • 查看文件内容:
    cat file
    cat -n file 显示行号

  • 查看文件最后10行
    tail -n 10 file

  • 查看文件最开始的10行
    head -n 10 file

  • 解压tar包
    tar -xvf file.tar

二 文件权限

ls-la 查看文件权限

r读 w写 x执行

如果一个文件的权限如下

drwxr-xr-x

权限说明:
d rwx r-x r-x
1 2 3
d目录,-表示文件
1.文件所属用户具备的权限(root对该文件具备读写执行权限)
2.文件所属用户的所属组具备的权限(读、执行)
3.系统的其他用户具备的权限(读、执行)

rwx必须是固定顺序

权限 二进制 八进制
— 000 0
–x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

  • 修改文件权限
    chmod 644 file
  • 给用户加上执行权限
    chmod u+x file
  • 修改当前文件使得所有用户都有读、写、执行的权限
    chmod 777 file (file表示文件名称)
  • 修改当前文件夹,所有的文件权限
    chmod -R 777 文件夹

改变创建目录的默认权限
umask 026

777-026

  • 改变文件的所属
    chown user.group file
    chown user file
    chown .group file

三 用户权限管理

1 创建用户

useradd -m jack 创建用户的同时,创建了home目录
userdel -r jack 删除用户
passwd Tim 增加密码

2 创建组

groupadd androidgroup
分配用户到组
usermod -G androidgroup jack

error Failed to install the app. Command failed with exit code 1: ./gradlew app:installDebug -PreactNativeDevServerPort=8081 No modules to process in combine-js-to-schema-cli. If this is unexpected, please check if you set up your NativeComponent correctly. See combine-js-to-schema.js for how codegen finds modules. No modules to process in combine-js-to-schema-cli. If this is unexpected, please check if you set up your NativeComponent correctly. See combine-js-to-schema.js for how codegen finds modules. 注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 注: 某些输入文件使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 注: 某些输入文件使用或覆盖了已过时的 API。 注: 有关详细信息, 请使用 -Xlint:deprecation 重新编译。 注: 某些输入文件使用了未经检查或不安全的操作。 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':react-native-worklets-core:buildCMakeDebug[x86_64]'. > com.android.ide.common.process.ProcessException: ninja: Entering directory `/Users/r/example/node_modules/react-native-worklets-core/android/.cxx/Debug/625a6672/x86_64' [0/2] Re-checking globbed directories... [1/9] Building CXX object CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/dispatch/WKTDispatchQueue.cpp.o [2/9] Building CXX object CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o [3/9] Building CXX object CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp.o [4/9] Building CXX object CMakeFiles/rnworklets.dir/cpp-adapter.cpp.o In file included from /Users/r/example/node_modules/react-native-worklets-core/android/cpp-adapter.cpp:6: In file included from /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/WKTJsiWorkletApi.h:14: In file included from /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/sharedvalues/WKTJsiSharedValue.h:8: /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/WKTJsiDispatcher.h:97:22: warning: exception of type 'const std::runtime_error &' will be caught by earlier handler [-Wexceptions] 97 | } catch (const std::runtime_error &err) { | ^ /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/WKTJsiDispatcher.h:94:22: note: for type 'const std::exception &' 94 | } catch (const std::exception &err) { | ^ 1 warning generated. [5/9] Building CXX object CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o [6/9] Building CXX object CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletApi.cpp.o In file included from /Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletApi.cpp:1: In file included from /Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletApi.h:14: In file included from /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/sharedvalues/WKTJsiSharedValue.h:8: /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/WKTJsiDispatcher.h:97:22: warning: exception of type 'const std::runtime_error &' will be caught by earlier handler [-Wexceptions] 97 | } catch (const std::runtime_error &err) { | ^ /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/WKTJsiDispatcher.h:94:22: note: for type 'const std::exception &' 94 | } catch (const std::exception &err) { | ^ 1 warning generated. [7/9] Building CXX object CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o [8/9] Building CXX object CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp.o In file included from /Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp:3: In file included from /Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletApi.h:14: In file included from /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/sharedvalues/WKTJsiSharedValue.h:8: /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/WKTJsiDispatcher.h:97:22: warning: exception of type 'const std::runtime_error &' will be caught by earlier handler [-Wexceptions] 97 | } catch (const std::runtime_error &err) { | ^ /Users/r/example/node_modules/react-native-worklets-core/android/../cpp/WKTJsiDispatcher.h:94:22: note: for type 'const std::exception &' 94 | } catch (const std::exception &err) { | ^ 1 warning generated. [9/9] Linking CXX shared library ../../../../build/intermediates/cxx/Debug/625a6672/obj/x86_64/librnworklets.so FAILED: ../../../../build/intermediates/cxx/Debug/625a6672/obj/x86_64/librnworklets.so : && /Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/bin/clang++ --target=x86_64-none-linux-android26 --sysroot=/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D__BIONIC_NO_PAGE_SIZE_MACRO -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -DDEBUG -DJS_RUNTIME_HERMES=1 -fno-limit-debug-info -Wl,-z,max-page-size=16384 -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--no-undefined-version -Wl,--fatal-warnings -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,librnworklets.so -o ../../../../build/intermediates/cxx/Debug/625a6672/obj/x86_64/librnworklets.so CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletApi.cpp.o CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp.o CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp.o CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/dispatch/WKTDispatchQueue.cpp.o CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o CMakeFiles/rnworklets.dir/cpp-adapter.cpp.o -llog -landroid /Users/dsccmac/.gradle/caches/8.12/transforms/52a52e4c4792af3ca58b2df5dfea7545/transformed/react-android-0.78.1-debug/prefab/modules/jsi/libs/android.x86_64/libjsi.so /Users/dsccmac/.gradle/caches/8.12/transforms/bbbd7faada6db350ac59925f93ab342e/transformed/fbjni-0.7.0/prefab/modules/fbjni/libs/android.x86_64/libfbjni.so /Users/dsccmac/.gradle/caches/8.12/transforms/52a52e4c4792af3ca58b2df5dfea7545/transformed/react-android-0.78.1-debug/prefab/modules/reactnative/libs/android.x86_64/libreactnative.so /Users/dsccmac/.gradle/caches/8.12/transforms/1727645527b8d4a52140297d30f9ce10/transformed/hermes-android-0.78.1-debug/prefab/modules/libhermes/libs/android.x86_64/libhermes.so /Users/dsccmac/.gradle/caches/8.12/transforms/52a52e4c4792af3ca58b2df5dfea7545/transformed/react-android-0.78.1-debug/prefab/modules/hermestooling/libs/android.x86_64/libhermestooling.so -latomic -lm && : ld.lld: error: undefined symbol: std::__ndk1::placeholders::_1 >>> referenced by WKTJsiPromiseWrapper.cpp:25 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:25) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiHostObject.cpp:43 (/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp:43) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp.o:(RNWorklet::JsiHostObject::set(facebook::jsi::Runtime&, facebook::jsi::PropNameID const&, facebook::jsi::Value const&)) >>> referenced by WKTJsiHostObject.cpp:64 (/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp:64) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp.o:(RNWorklet::JsiHostObject::get(facebook::jsi::Runtime&, facebook::jsi::PropNameID const&)) >>> referenced 1 more times ld.lld: error: undefined symbol: std::__ndk1::placeholders::_2 >>> referenced by WKTJsiPromiseWrapper.cpp:25 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:25) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiHostObject.cpp:43 (/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp:43) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp.o:(RNWorklet::JsiHostObject::set(facebook::jsi::Runtime&, facebook::jsi::PropNameID const&, facebook::jsi::Value const&)) >>> referenced by WKTJsiHostObject.cpp:73 (/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp:73) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp.o:(RNWorklet::JsiHostObject::get(facebook::jsi::Runtime&, facebook::jsi::PropNameID const&)) ld.lld: error: undefined symbol: __cxa_begin_catch >>> referenced by WKTJsiPromiseWrapper.cpp:47 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:47) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiPromiseWrapper.cpp:50 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:50) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiPromiseWrapper.cpp:32 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:32) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced 12 more times ld.lld: error: undefined symbol: __cxa_end_catch >>> referenced by WKTJsiPromiseWrapper.cpp:35 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:35) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiPromiseWrapper.cpp:50 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:50) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiPromiseWrapper.cpp:50 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:50) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced 24 more times ld.lld: error: undefined symbol: std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>::basic_string(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&) >>> referenced by WKTJsiPromiseWrapper.cpp:40 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:40) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiWrapper.cpp:119 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp:119) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(RNWorklet::JsiWrapper::toString(facebook::jsi::Runtime&)) >>> referenced by tuple:1409 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/tuple:1409) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(std::__ndk1::pair<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const, std::__ndk1::shared_ptr<RNWorklet::JsiWrapper>>::pair[abi:ne180000]<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&, 0ul>(std::__ndk1::piecewise_construct_t, std::__ndk1::tuple<std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>> const&>&, std::__ndk1::tuple<>&, std::__ndk1::__tuple_indices<0ul>, std::__ndk1::__tuple_indices<...>)) >>> referenced 22 more times ld.lld: error: undefined symbol: std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char>>::~basic_string() >>> referenced by WKTJsiPromiseWrapper.cpp:43 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:43) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiPromiseWrapper.cpp:48 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:48) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced by WKTJsiPromiseWrapper.cpp:48 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:48) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::runComputation(facebook::jsi::Runtime&, std::__ndk1::function<void (facebook::jsi::Runtime&, std::__ndk1::shared_ptr<RNWorklet::PromiseParameter>)>)) >>> referenced 193 more times ld.lld: error: undefined symbol: std::__ndk1::__shared_weak_count::~__shared_weak_count() >>> referenced by shared_ptr.h:263 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__memory/shared_ptr.h:263) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o:(std::__ndk1::__shared_ptr_emplace<RNWorklet::RuntimeLifecycleMonitorObject, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleMonitorObject>>::__shared_ptr_emplace[abi:ne180000]<facebook::jsi::Runtime*, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleMonitorObject>, 0>(std::__ndk1::allocator<RNWorklet::RuntimeLifecycleMonitorObject>, facebook::jsi::Runtime*&&)) >>> referenced by shared_ptr.h:246 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__memory/shared_ptr.h:246) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o:(std::__ndk1::__shared_ptr_emplace<RNWorklet::RuntimeLifecycleMonitorObject, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleMonitorObject>>::~__shared_ptr_emplace()) >>> referenced by shared_ptr.h:263 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__memory/shared_ptr.h:263) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(std::__ndk1::__shared_ptr_emplace<RNWorklet::JsiWrapper, std::__ndk1::allocator<RNWorklet::JsiWrapper>>::__shared_ptr_emplace[abi:ne180000]<RNWorklet::JsiWrapper*&, bool&, std::__ndk1::allocator<RNWorklet::JsiWrapper>, 0>(std::__ndk1::allocator<RNWorklet::JsiWrapper>, RNWorklet::JsiWrapper*&, bool&)) >>> referenced 47 more times ld.lld: error: undefined symbol: __cxa_allocate_exception >>> referenced by WKTJsiWrapper.cpp:25 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp:25) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(RNWorklet::JsiWrapper::getValue(facebook::jsi::Runtime&)) >>> referenced by WKTJsiPromiseWrapper.cpp:209 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:209) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::setValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)) >>> referenced by WKTJsiWrapper.cpp:55 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp:55) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(RNWorklet::JsiWrapper::wrap(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWrapper*, bool)) >>> referenced 40 more times ld.lld: error: undefined symbol: __cxa_throw >>> referenced by WKTJsiWrapper.cpp:25 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp:25) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(RNWorklet::JsiWrapper::getValue(facebook::jsi::Runtime&)) >>> referenced by WKTJsiPromiseWrapper.cpp:209 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:209) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::setValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)) >>> referenced by WKTJsiWrapper.cpp:55 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp:55) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(RNWorklet::JsiWrapper::wrap(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWrapper*, bool)) >>> referenced 40 more times ld.lld: error: undefined symbol: __cxa_free_exception >>> referenced by WKTJsiWrapper.cpp:25 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp:25) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(RNWorklet::JsiWrapper::getValue(facebook::jsi::Runtime&)) >>> referenced by WKTJsiPromiseWrapper.cpp:209 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp:209) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::setValue(facebook::jsi::Runtime&, facebook::jsi::Value const&)) >>> referenced by WKTJsiWrapper.cpp:55 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp:55) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(RNWorklet::JsiWrapper::wrap(facebook::jsi::Runtime&, facebook::jsi::Value const&, RNWorklet::JsiWrapper*, bool)) >>> referenced 37 more times ld.lld: error: undefined symbol: operator delete(void*) >>> referenced by shared_ptr.h:246 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__memory/shared_ptr.h:246) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o:(std::__ndk1::__shared_ptr_emplace<RNWorklet::RuntimeLifecycleMonitorObject, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleMonitorObject>>::~__shared_ptr_emplace()) >>> referenced by WKTRuntimeLifecycleMonitor.cpp:16 (/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp:16) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o:(RNWorklet::RuntimeLifecycleMonitorObject::~RuntimeLifecycleMonitorObject()) >>> referenced by WKTJsiHostObject.cpp:22 (/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp:22) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTJsiHostObject.cpp.o:(RNWorklet::JsiHostObject::~JsiHostObject()) >>> referenced 89 more times ld.lld: error: undefined symbol: __cxa_guard_acquire >>> referenced by Hybrid.h:336 (/Users/dsccmac/.gradle/caches/8.12/transforms/bbbd7faada6db350ac59925f93ab342e/transformed/fbjni-0.7.0/prefab/modules/fbjni/include/fbjni/detail/Hybrid.h:336) >>> CMakeFiles/rnworklets.dir/cpp-adapter.cpp.o:(facebook::jni::HybridClass<facebook::react::CallInvokerHolder, facebook::jni::detail::BaseHybridClass>::JavaPart::cthis() const) >>> referenced by WKTJsiPromiseWrapper.h:96 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.h:96) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::getExportedFunctionMap()) >>> referenced by CoreClasses-inl.h:683 (/Users/dsccmac/.gradle/caches/8.12/transforms/bbbd7faada6db350ac59925f93ab342e/transformed/fbjni-0.7.0/prefab/modules/fbjni/include/fbjni/detail/CoreClasses-inl.h:683) >>> CMakeFiles/rnworklets.dir/cpp-adapter.cpp.o:(facebook::jni::JavaClass<facebook::jni::HybridClass<facebook::react::CallInvokerHolder, facebook::jni::detail::BaseHybridClass>::JavaPart, facebook::jni::JObject, void>::javaClassStatic()) >>> referenced 21 more times ld.lld: error: undefined symbol: __cxa_guard_release >>> referenced by Hybrid.h:336 (/Users/dsccmac/.gradle/caches/8.12/transforms/bbbd7faada6db350ac59925f93ab342e/transformed/fbjni-0.7.0/prefab/modules/fbjni/include/fbjni/detail/Hybrid.h:336) >>> CMakeFiles/rnworklets.dir/cpp-adapter.cpp.o:(facebook::jni::HybridClass<facebook::react::CallInvokerHolder, facebook::jni::detail::BaseHybridClass>::JavaPart::cthis() const) >>> referenced by WKTJsiPromiseWrapper.h:96 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.h:96) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::getExportedFunctionMap()) >>> referenced by WKTJsiWorkletContext.h:180 (/Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.h:180) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp.o:(RNWorklet::JsiWorkletContext::getExportedFunctionMap()) >>> referenced 21 more times ld.lld: error: undefined symbol: __cxa_guard_abort >>> referenced by Hybrid.h:336 (/Users/dsccmac/.gradle/caches/8.12/transforms/bbbd7faada6db350ac59925f93ab342e/transformed/fbjni-0.7.0/prefab/modules/fbjni/include/fbjni/detail/Hybrid.h:336) >>> CMakeFiles/rnworklets.dir/cpp-adapter.cpp.o:(facebook::jni::HybridClass<facebook::react::CallInvokerHolder, facebook::jni::detail::BaseHybridClass>::JavaPart::cthis() const) >>> referenced by WKTJsiPromiseWrapper.h:96 (/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.h:96) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiPromiseWrapper::getExportedFunctionMap()) >>> referenced by WKTJsiWorkletContext.h:180 (/Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.h:180) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/WKTJsiWorkletContext.cpp.o:(RNWorklet::JsiWorkletContext::getExportedFunctionMap()) >>> referenced 18 more times ld.lld: error: undefined symbol: std::__ndk1::recursive_mutex::lock() >>> referenced by unique_lock.h:41 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__mutex/unique_lock.h:41) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(std::__ndk1::unique_lock<std::__ndk1::recursive_mutex>::unique_lock[abi:ne180000](std::__ndk1::recursive_mutex&)) ld.lld: error: undefined symbol: std::__ndk1::recursive_mutex::unlock() >>> referenced by unique_lock.h:63 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__mutex/unique_lock.h:63) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiWrapper.cpp.o:(std::__ndk1::unique_lock<std::__ndk1::recursive_mutex>::~unique_lock[abi:ne180000]()) ld.lld: error: undefined symbol: std::__ndk1::__next_prime(unsigned long) >>> referenced by __hash_table:1657 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__hash_table:1657) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o:(void std::__ndk1::__hash_table<RNWorklet::RuntimeLifecycleListener*, std::__ndk1::hash<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::equal_to<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleListener*>>::__rehash<true>(unsigned long)) >>> referenced by __hash_table:1665 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__hash_table:1665) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o:(void std::__ndk1::__hash_table<RNWorklet::RuntimeLifecycleListener*, std::__ndk1::hash<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::equal_to<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleListener*>>::__rehash<true>(unsigned long)) >>> referenced by __hash_table:1657 (/Users/dsccmac/Library/Android/sdk/ndk/27.0.12077973/toolchains/llvm/prebuilt/darwin-x86_64/sysroot/usr/include/c++/v1/__hash_table:1657) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/base/WKTRuntimeLifecycleMonitor.cpp.o:(void std::__ndk1::__hash_table<std::__ndk1::__hash_value_type<facebook::jsi::Runtime*, std::__ndk1::unordered_set<RNWorklet::RuntimeLifecycleListener*, std::__ndk1::hash<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::equal_to<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleListener*>>>, std::__ndk1::__unordered_map_hasher<facebook::jsi::Runtime*, std::__ndk1::__hash_value_type<facebook::jsi::Runtime*, std::__ndk1::unordered_set<RNWorklet::RuntimeLifecycleListener*, std::__ndk1::hash<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::equal_to<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleListener*>>>, std::__ndk1::hash<facebook::jsi::Runtime*>, std::__ndk1::equal_to<facebook::jsi::Runtime*>, true>, std::__ndk1::__unordered_map_equal<facebook::jsi::Runtime*, std::__ndk1::__hash_value_type<facebook::jsi::Runtime*, std::__ndk1::unordered_set<RNWorklet::RuntimeLifecycleListener*, std::__ndk1::hash<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::equal_to<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleListener*>>>, std::__ndk1::equal_to<facebook::jsi::Runtime*>, std::__ndk1::hash<facebook::jsi::Runtime*>, true>, std::__ndk1::allocator<std::__ndk1::__hash_value_type<facebook::jsi::Runtime*, std::__ndk1::unordered_set<RNWorklet::RuntimeLifecycleListener*, std::__ndk1::hash<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::equal_to<RNWorklet::RuntimeLifecycleListener*>, std::__ndk1::allocator<RNWorklet::RuntimeLifecycleListener*>>>>>::__rehash<true>(unsigned long)) >>> referenced 11 more times ld.lld: error: undefined symbol: std::__ndk1::recursive_mutex::~recursive_mutex() >>> referenced by WKTJsiWrapper.h:30 (/Users/r/example/node_modules/react-native-worklets-core/android/../cpp/wrappers/WKTJsiWrapper.h:30) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/wrappers/WKTJsiPromiseWrapper.cpp.o:(RNWorklet::JsiWrapper::~JsiWrapper()) ld.lld: error: undefined symbol: std::__ndk1::condition_variable::notify_all() >>> referenced by WKTDispatchQueue.cpp:12 (/Users/r/example/node_modules/react-native-worklets-core/cpp/dispatch/WKTDispatchQueue.cpp:12) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/dispatch/WKTDispatchQueue.cpp.o:(RNWorklet::DispatchQueue::~DispatchQueue()) ld.lld: error: undefined symbol: std::__ndk1::thread::join() >>> referenced by WKTDispatchQueue.cpp:16 (/Users/r/example/node_modules/react-native-worklets-core/cpp/dispatch/WKTDispatchQueue.cpp:16) >>> CMakeFiles/rnworklets.dir/Users/r/example/node_modules/react-native-worklets-core/cpp/dispatch/WKTDispatchQueue.cpp.o:(RNWorklet::DispatchQueue::~DispatchQueue()) ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors) clang++: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed. C++ build system [build] failed while executing: /Users/dsccmac/Library/Android/sdk/cmake/3.22.1/bin/ninja \ -C \ /Users/r/example/node_modules/react-native-worklets-core/android/.cxx/Debug/625a6672/x86_64 \ rnworklets from /Users/r/example/node_modules/react-native-worklets-core/android * Try: > Run with --stacktrace option to get the stack trace. > Run with --info or --debug option to get more log output. > Run with --scan to get full insights. > Get more help at https://help.gradle.org. BUILD FAILED in 36s. info Run CLI with --verbose flag for more details. 什么原因
09-09
ld: error: undefined symbol: __aarch64_ldadd8_acq_rel >>> referenced by memory:3450 (/ndk/android-ndk-r25c/sources/cxx-stl/llvm-libc++/include/memory:3450) >>> /opt9/zhangxilun/IAC2328_AIFRC/build/android/jni/output/libs/local/arm64-v8a/objs/vivo_aifrc/./__/__/__/src/algo/vivoAIFRC_post.o:(aifrcAlgo_post::process(aifrcAlgo_post::inputParam)) >>> referenced by memory:3450 (/ndk/android-ndk-r25c/sources/cxx-stl/llvm-libc++/include/memory:3450) >>> /opt9/zhangxilun/IAC2328_AIFRC/build/android/jni/output/libs/local/arm64-v8a/objs/vivo_aifrc/./__/__/__/src/algo/vivoAIFRC_post.o:(aifrcAlgo_post::process(aifrcAlgo_post::inputParam)) >>> referenced by memory:3450 (/ndk/android-ndk-r25c/sources/cxx-stl/llvm-libc++/include/memory:3450) >>> /opt9/zhangxilun/IAC2328_AIFRC/build/android/jni/output/libs/local/arm64-v8a/objs/vivo_aifrc/./__/__/__/src/algo/vivoAIFRC_post.o:(aifrcAlgo_post::process(aifrcAlgo_post::inputParam)) >>> referenced 83 more times ld: error: undefined symbol: __aarch64_ldadd8_relax >>> referenced by memory:3439 (/ndk/android-ndk-r25c/sources/cxx-stl/llvm-libc++/include/memory:3439) >>> /opt9/zhangxilun/IAC2328_AIFRC/build/android/jni/output/libs/local/arm64-v8a/objs/vivo_aifrc/./__/__/__/src/util/opencl_context.o:(air::opencl::OpenclContext::allocateDMAImage2D_grey(unsigned long, unsigned long, unsigned int, unsigned int, unsigned long, int, void*, void*)) >>> referenced by memory:3439 (/ndk/android-ndk-r25c/sources/cxx-stl/llvm-libc++/include/memory:3439) >>> /opt9/zhangxilun/IAC2328_AIFRC/build/android/jni/output/libs/local/arm64-v8a/objs/vivo_aifrc/./__/__/__/src/util/opencl_context.o:(std::__ndk1::shared_ptr<cl::Image>::operator=(std::__ndk1::shared_ptr<cl::Image> const&)) clang++: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [/ndk/android-ndk-r25c/build/core/build-binary.mk:657: /opt9/zhangxilun/IAC2328_AIFRC/build/android/jni/output/libs/local/arm64-v8a/libvivo_aifrc.so] Error 1
最新发布
10-21
cmd.exe /C "cd . && D:\android-sdk-windows\ndk\25.1.8937393\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe --target=aarch64-none-linux-android24 --sysroot=D:/android-sdk-windows/ndk/25.1.8937393/toolchains/llvm/prebuilt/windows-x86_64/sysroot -fPIC -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -std=c++14 -fno-limit-debug-info -static-libstdc++ -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--fatal-warnings -Wl,--gc-sections -Wl,--no-undefined -Qunused-arguments -shared -Wl,-soname,libmyapplication.so -o D:\Projects\MyApplication\app\build\intermediates\cxx\Debug\1h1g1tb5\obj\arm64-v8a\libmyapplication.so CMakeFiles/myapplication.dir/src/pdr_local_interface.cpp.o CMakeFiles/myapplication.dir/src/pdr_infer.cpp.o CMakeFiles/myapplication.dir/native-lib.cpp.o D:/android-sdk-windows/ndk/25.1.8937393/toolchains/llvm/prebuilt/windows-x86_64/sysroot/usr/lib/aarch64-linux-android/24/liblog.so -landroid -llog -latomic -lm && cd ." ld: error: undefined symbol: Riemann::Pdr::RiemannPdr::GetInstance() >>> referenced by pdr_infer.cpp:20 (D:/Projects/MyApplication/app/src/main/cpp/src/pdr_infer.cpp:20) >>> CMakeFiles/myapplication.dir/src/pdr_infer.cpp.o:(Riemann::Pdr::PdrInfer::Init(std::__ndk1::basic_string<char, std::__ndk1::char_traits<char>, std::__ndk1::allocator<char> >)) >>> referenced by pdr_infer.cpp:285 (D:/Projects/MyApplication/app/src/main/cpp/src/pdr_infer.cpp:285) >>> CMakeFiles/myapplication.dir/src/pdr_infer.cpp.o:(Riemann::Pdr::PdrInfer::NetInference()) >>> referenced by native-lib.cpp:18 (D:/Projects/MyApplication/app/src/main/cpp/native-lib.cpp:18) >>> CMakeFiles/myapplication.dir/native-lib.cpp.o:(Java_com_example_myapplication_MainActivity_stringFromJNI) >>> referenced 1 more times
07-09
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值