androidthings / native-libandroidthings Goto Github PK
View Code? Open in Web Editor NEWNDK library for exposing Peripheral I/O APIs in C/C++
License: Apache License 2.0
NDK library for exposing Peripheral I/O APIs in C/C++
License: Apache License 2.0
It would really handy if you could bring in software PWM in Android things.
Any plan for that?
Thanks
Imran
We use native-libandroidthings in our project. but it print error "dlopen failed: library "libbinder.so" not found"
apply plugin: 'com.android.application'
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.seeed.baozhu.mraa_demo"
minSdkVersion 19
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
externalNativeBuild {
cmake {
cppFlags "-std=c++11 -frtti -fexceptions"
}
}
ndk {
// Specifies the ABI configurations of your native
// libraries Gradle should build and package with your APK.
abiFilters 'armeabi-v7a'
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
sourceSets {
main {
jniLibs.srcDirs 'libs/mraa-1.8.0/jni'
}
}
}
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation files('libs/mraa-1.8.0/classes.jar')
}
06-20 01:35:45.560 29084-29084/com.seeed.baozhu.mraa D/AndroidRuntime: Shutting down VM
06-20 01:35:45.567 29084-29084/com.seeed.baozhu.mraa E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.seeed.baozhu.mraa, PID: 29084
java.lang.UnsatisfiedLinkError: dlopen failed: library "libbinder.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:1016)
at java.lang.System.loadLibrary(System.java:1657)
at com.seeed.baozhu.mraa.MainActivity.(MainActivity.java:18)
at java.lang.Class.newInstance(Native Method)
at android.app.Instrumentation.newActivity(Instrumentation.java:1174)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2669)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2856)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
Hi,
Kotlin can already be used on the non NDK side, but it could also be used on the NDK side with Kotlin/Native now in EAP! Could you provide at least one example using Kotlin/Native in an Android Things project along with Kotlin outside of the NDK when possible? Thanks!
This issue was automatically created by Allstar.
Security Policy Violation
Project is out of compliance with Binary Artifacts policy: binaries present in source code
Rule Description
Binary Artifacts are an increased security risk in your repository. Binary artifacts cannot be reviewed, allowing the introduction of possibly obsolete or maliciously subverted executables. For more information see the Security Scorecards Documentation for Binary Artifacts.
Remediation Steps
To remediate, remove the generated executable artifacts from the repository.
Artifacts Found
Additional Information
This policy is drawn from Security Scorecards, which is a tool that scores a project's adherence to security best practices. You may wish to run a Scorecards scan directly on this repository for more details.
Allstar has been installed on all Google managed GitHub orgs. Policies are gradually being rolled out and enforced by the GOSST and OSPO teams. Learn more at http://go/allstar
This issue will auto resolve when the policy is in compliance.
Issue created by Allstar. See https://github.com/ossf/allstar/ for more information. For questions specific to the repository, please contact the owner or maintainer.
Hi, I have this driver:
https://github.com/intel-iot-devkit/upm/blob/master/src/smartdrive/smartdrive.hpp
https://github.com/intel-iot-devkit/upm/blob/master/src/smartdrive/smartdrive.cxx
androidthings/contrib-drivers#70
My intention is to transpose this driver to use it on rapsberry pi 3/SmartDrive and command my 2 car windshield motors using android things
I know the first thing is remove upm/mraa libs from the .hpp and .cxx files above, and my questions is:
1 - What is the best way to do this? (already preparing for the creation of a * .h file that will be used below:)
libandroidthings/
${ABI}/
include/
pio/
*.h
lib/
libandroidthings.so
I am trying to update my pio-softpwm
project to DP7 but I am not able to build anymore if I use the tag 0.7-devpreview
of this library:
$ ./gradlew clean build
Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details
> Configure project :pio-softpwm
Observed package id 'add-ons;addon-google_apis-google-19' in inconsistent location '/home/leinardi/android-sdk/add-ons/addon-google_apis-google-19-1' (Expected '/home/leinardi/android-sdk/add-ons/addon-google_apis-google-19')
Observed package id 'add-ons;addon-google_apis_x86-google-19' in inconsistent location '/home/leinardi/android-sdk/add-ons/addon-google_apis_x86-google-19-1' (Expected '/home/leinardi/android-sdk/add-ons/addon-google_apis_x86-google-19')
> Task :pio-softpwm:externalNativeBuildCleanDebug
Clean androidthings armeabi-v7a,native-app-glue armeabi-v7a,softpwm armeabi-v7a
Cleaning... 0 files.
Clean androidthings x86,native-app-glue x86,softpwm x86
Cleaning... 4 files.
> Task :pio-softpwm:externalNativeBuildCleanRelease
Clean androidthings armeabi-v7a,native-app-glue armeabi-v7a,softpwm armeabi-v7a
Cleaning... 0 files.
Clean androidthings x86,native-app-glue x86,softpwm x86
Cleaning... 0 files.
> Task :pio-softpwm:generateJsonModelDebug
External native generate JSON debug: starting JSON generation
External native generate JSON debug: using platform version 24 for ABI ARMEABI_V7A and min SDK version 24
External native generate JSON debug: JSON '/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/.externalNativeBuild/cmake/debug/armeabi-v7a/android_gradle_build.json' was up-to-date
External native generate JSON debug: using platform version 24 for ABI X86 and min SDK version 24
External native generate JSON debug: JSON '/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/.externalNativeBuild/cmake/debug/x86/android_gradle_build.json' was up-to-date
External native generate JSON debug: JSON generation completed without problems
> Task :pio-softpwm:externalNativeBuildDebug FAILED
Build softpwm x86
[1/5] Building C object CMakeFiles/native-app-glue.dir/home/leinardi/android-sdk/ndk-bundle/sources/android/native_app_glue/android_native_app_glue.c.o
[2/5] Linking C static library libnative-app-glue.a
[3/5] Building CXX object CMakeFiles/softpwm.dir/softpwm.cpp.o
[4/5] Building CXX object CMakeFiles/softpwm.dir/jni_helpers.cpp.o
[5/5] Linking CXX shared library /home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/build/intermediates/cmake/debug/obj/x86/libsoftpwm.so
FAILED: : && /home/leinardi/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=i686-none-linux-android --gcc-toolchain=/home/leinardi/android-sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64 --sysroot=/home/leinardi/android-sdk/ndk-bundle/sysroot -fPIC -isystem /home/leinardi/android-sdk/ndk-bundle/sysroot/usr/include/i686-linux-android -D__ANDROID_API__=24 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -std=c++11 -Werror -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot /home/leinardi/android-sdk/ndk-bundle/platforms/android-24/arch-x86 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -L/home/leinardi/android-sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86 -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libsoftpwm.so -o /home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/build/intermediates/cmake/debug/obj/x86/libsoftpwm.so CMakeFiles/softpwm.dir/softpwm.cpp.o CMakeFiles/softpwm.dir/jni_helpers.cpp.o -landroid -llog libnative-app-glue.a /home/leinardi/Workspace/androidThings/androidthings-pio/libandroidthings/x86/lib/libandroidthings.so -latomic -lm "/home/leinardi/android-sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a" "/home/leinardi/android-sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a" && :
/home/leinardi/android-sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld: error: /home/leinardi/Workspace/androidThings/androidthings-pio/libandroidthings/x86/lib/libandroidthings.so: incompatible target
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:31: error: undefined reference to 'APeripheralManagerClient_new'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:36: error: undefined reference to 'APeripheralManagerClient_openGpio'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:41: error: undefined reference to 'AGpio_setDirection'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:51: error: undefined reference to 'AGpio_delete'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:54: error: undefined reference to 'APeripheralManagerClient_delete'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:82: error: undefined reference to 'AGpio_setValue'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:89: error: undefined reference to 'AGpio_setValue'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':pio-softpwm:externalNativeBuildDebug'.
> Build command failed.
Error while executing process /media/Dati_ext4/android-sdk/cmake/3.6.4111459/bin/cmake with arguments {--build /home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/.externalNativeBuild/cmake/debug/x86 --target softpwm}
[1/5] Building C object CMakeFiles/native-app-glue.dir/home/leinardi/android-sdk/ndk-bundle/sources/android/native_app_glue/android_native_app_glue.c.o
[2/5] Linking C static library libnative-app-glue.a
[3/5] Building CXX object CMakeFiles/softpwm.dir/softpwm.cpp.o
[4/5] Building CXX object CMakeFiles/softpwm.dir/jni_helpers.cpp.o
[5/5] Linking CXX shared library /home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/build/intermediates/cmake/debug/obj/x86/libsoftpwm.so
FAILED: : && /home/leinardi/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ --target=i686-none-linux-android --gcc-toolchain=/home/leinardi/android-sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64 --sysroot=/home/leinardi/android-sdk/ndk-bundle/sysroot -fPIC -isystem /home/leinardi/android-sdk/ndk-bundle/sysroot/usr/include/i686-linux-android -D__ANDROID_API__=24 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa,--noexecstack -Wformat -Werror=format-security -std=c++11 -std=c++11 -Werror -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a -nostdlib++ --sysroot /home/leinardi/android-sdk/ndk-bundle/platforms/android-24/arch-x86 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -L/home/leinardi/android-sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86 -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libsoftpwm.so -o /home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/build/intermediates/cmake/debug/obj/x86/libsoftpwm.so CMakeFiles/softpwm.dir/softpwm.cpp.o CMakeFiles/softpwm.dir/jni_helpers.cpp.o -landroid -llog libnative-app-glue.a /home/leinardi/Workspace/androidThings/androidthings-pio/libandroidthings/x86/lib/libandroidthings.so -latomic -lm "/home/leinardi/android-sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86/libc++_static.a" "/home/leinardi/android-sdk/ndk-bundle/sources/cxx-stl/llvm-libc++/libs/x86/libc++abi.a" && :
/home/leinardi/android-sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/linux-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin/ld: error: /home/leinardi/Workspace/androidThings/androidthings-pio/libandroidthings/x86/lib/libandroidthings.so: incompatible target
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:31: error: undefined reference to 'APeripheralManagerClient_new'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:36: error: undefined reference to 'APeripheralManagerClient_openGpio'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:41: error: undefined reference to 'AGpio_setDirection'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:51: error: undefined reference to 'AGpio_delete'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:54: error: undefined reference to 'APeripheralManagerClient_delete'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:82: error: undefined reference to 'AGpio_setValue'
/home/leinardi/Workspace/androidThings/androidthings-pio/pio-softpwm/src/main/cpp/softpwm.cpp:89: error: undefined reference to 'AGpio_setValue'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
* 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 6s
21 actionable tasks: 20 executed, 1 up-to-date
You can reproduce the issue here: https://github.com/leinardi/androidthings-pio/tree/master/pio-softpwm (commit ac15a7ee8c21d0ececb8d62a8d757f0ab7bb61aa).
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.