vvb2060 / boringssl_android Goto Github PK
View Code? Open in Web Editor NEWboringssl static library prefab for android
boringssl static library prefab for android
I can't compile due to conflict with Android.mk. What should I do?
E:\modding\ImGUI\PolarImGui\app\build\.cxx\Debug\4i2n254r\prefab\arm64-v8a\prefab-configure\boringssl\Android.mk -> E:\modding\ImGUI\PolarImGui\app\build\.cxx\Debug\4i2n254r\prefab\arm64-v8a\prefab\boringssl\Android.mk: The destination file already exists.
https://github.com/google/boringssl/blob/master/crypto/x509/x509_def.c
const char *X509_get_default_cert_dir(void) { return "/system/etc/security/cacerts"; }
Android NDK: test/app/src/main/jni/Android.mk: Cannot find module with tag 'prefab/boringssl' in import path
Android NDK: Are you sure your NDK_MODULE_PATH variable is properly defined ?
Android NDK: The following directories were searched:
Environment: Ubuntu 20.04 LTS
Java: openjdk 11.0.11 2021-04-20
> Task :app:configureNdkBuildDebug FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:configureNdkBuildDebug'.
> [CXX1405] error when building with ndkBuild using /root/BoringSSL_Android/boringssl/src/main/native/Android.mk: Build command failed.
Error while executing process /usr/lib/android-sdk/ndk/21.4.7075529/ndk-build with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=/root/BoringSSL_Android/boringssl/src/main/native/Android.mk NDK_APPLICATION_MK=/root/BoringSSL_Android/boringssl/src/main/native/Application.mk NDK_GRADLE_INJECTED_IMPORT_PATH=/root/BoringSSL_Android/app/build/.cxx/Debug/4ds2d544/prefab/armeabi-v7a APP_ABI=armeabi-v7a NDK_ALL_ABIS=armeabi-v7a NDK_DEBUG=1 APP_PLATFORM=android-16 NDK_OUT=/root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/obj NDK_LIBS_OUT=/root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib -j1 APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}
rm -f /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a/*
rm -f /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a/gdbserver
rm -f /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a/gdb.setup
mkdir -p /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a
echo [armeabi-v7a] "Gdbserver ": "[arm-linux-androideabi] /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a/gdbserver"
install -p /usr/lib/android-sdk/ndk/21.4.7075529/prebuilt/android-arm/gdbserver/gdbserver /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a/gdbserver
echo [armeabi-v7a] "Gdbsetup ": "/root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a/gdb.setup"
echo "set solib-search-path /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/obj/local/armeabi-v7a" > /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a/gdb.setup
echo "directory /usr/lib/android-sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot /usr/lib/android-sdk/ndk/21.4.7075529/sources/android/support /usr/lib/android-sdk/ndk/21.4.7075529/sources/cxx-stl/llvm-libc++ /usr/lib/android-sdk/ndk/21.4.7075529/sources/cxx-stl/llvm-libc++abi/include /root/BoringSSL_Android/app/build/.cxx/Debug/4ds2d544/prefab/armeabi-v7a/prefab/boringssl /usr/lib/android-sdk/ndk/21.4.7075529/sources/third_party/googletest/include /root/.gradle/caches/transforms-3/2398f45cfa767b8bc374bc2d1f145fb4/transformed/jetified-boringssl-2.1/prefab/modules/crypto_static/include /usr/lib/android-sdk/ndk/21.4.7075529/sources/cxx-stl/llvm-libc++/include /root/BoringSSL_Android/boringssl/src/main/native /usr/lib/android-sdk/ndk/21.4.7075529/sources/third_party/googletest/src /root/.gradle/caches/transforms-3/2398f45cfa767b8bc374bc2d1f145fb4/transformed/jetified-boringssl-2.1/prefab/modules/ssl_static/include" >> /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/lib/armeabi-v7a/gdb.setup
mkdir -p /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/obj/local/armeabi-v7a/objs-debug/crypto_test
echo [armeabi-v7a] "Compile++ thumb": "crypto_test <= crypto_test_data.cc"
rm -f /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/obj/local/armeabi-v7a/objs-debug/crypto_test/crypto_test_data.o
/usr/lib/android-sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ -MMD -MP -MF /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/obj/local/armeabi-v7a/objs-debug/crypto_test/crypto_test_data.o.d -target armv7-none-linux-androideabi16 -fdata-sections -ffunction-sections -fstack-protector-strong -funwind-tables -no-canonical-prefixes --sysroot /usr/lib/android-sdk/ndk/21.4.7075529/toolchains/llvm/prebuilt/linux-x86_64/sysroot -g -Wno-invalid-command-line-argument -Wno-unused-command-line-argument -D_FORTIFY_SOURCE=2 -fno-exceptions -fno-rtti -fpic -march=armv7-a -mthumb -O0 -UNDEBUG -fno-limit-debug-info -I/usr/lib/android-sdk/ndk/21.4.7075529/sources/third_party/googletest/include -I/root/.gradle/caches/transforms-3/2398f45cfa767b8bc374bc2d1f145fb4/transformed/jetified-boringssl-2.1/prefab/modules/crypto_static/include -I/usr/lib/android-sdk/ndk/21.4.7075529/sources/cxx-stl/llvm-libc++/include -I/usr/lib/android-sdk/ndk/21.4.7075529/sources/cxx-stl/llvm-libc++abi/include -I/root/BoringSSL_Android/boringssl/src/main/native -Wall -Werror -Wno-unused-parameter -fvisibility=hidden -D_XOPEN_SOURCE=700 -Wno-builtin-macro-redefined -D__FILE__=__FILE_NAME__ -DANDROID -nostdinc++ -Wformat -Werror=format-security -fno-strict-aliasing -frtti -c /root/BoringSSL_Android/boringssl/src/main/native/crypto_test_data.cc -o /root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/obj/local/armeabi-v7a/objs-debug/crypto_test/crypto_test_data.o
make: *** No rule to make target '/root/BoringSSL_Android/boringssl/src/main/native/src/crypto/abi_self_test.cc', needed by '/root/BoringSSL_Android/app/build/intermediates/cxx/Debug/4ds2d544/obj/local/armeabi-v7a/objs-debug/crypto_test/src/crypto/abi_self_test.o'. Stop.
https://boringssl-review.googlesource.com/c/boringssl/+/55585
Nothing to do, wait for next sync
I read README.md
and applied it to my project.
app/build.gradle
...
buildFeatures {
prefab true
}
dependencies {
implementation 'io.github.vvb2060.ndk:boringssl:4.0'
implementation project(path: ':sdk')
debugImplementation 'com.pspdfkit:pspdfkit:8.4.1'
profileImplementation 'com.pspdfkit:pspdfkit:8.4.1'
releaseImplementation 'com.pspdfkit:pspdfkit:8.4.1'
}
...
Since I use c and cpp files with CMakeLists.txt
, I adopted the method using CMakeLists.txt.
cmake_minimum_required(VERSION 3.10)
add_library( nativeLib
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
src_my_c_or_cpp_file
...
)
find_package(boringssl REQUIRED CONFIG)
find_library( log-lib
GLESv1
)
target_link_libraries( nativeLib
boringssl::crypto_static
android
)
Now when I compile the project I get an error:
Execution failed for task ':app:generateJsonModelDebug'.
executing external native build for cmake /my_project_path/app/CMakeLists.txt
I need to use boringssl
on android. Of course, it must be ported as a C file. The reason is that boringssl is required by the IPP
-based printing library called CUPS
. I tried to use google/boringssl
, but the encryption algorithm in the code is implemented as .pl (perl script)
, so an undefined reference
error occurs when compiling.
Therefore, we are looking at your git
and trying to apply it.
How do I resolve errors in Gradle and CMakeLists.txt?
Hi, this library looks promising, you can provide a simple documentation for use that lib?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.