AllJoyn Audio service compilation problems - raspberry-pi

I want to run an audio streaming server based on AllJoyn and the AllJoyn audio service doesn't seem to be buildable from the alljoyn/multimedia/audio folder (running scons in this folder always ends up in compilation errors). I'm building AllJoyn version 14.06.
Anybody successfully built the AllJoyn audio service on a Raspberry Pi (Raspbian)?
Thx a lot.

In order to compile the audio service you need to do it from the folder alljoyn/core/alljoyn/services/audio
This is an example compilation command (targetting a Raspberry Pi) that also builds the audio samples:
scons OS=linux CPU=arm WS=fix BR=on SERVICES=about,audio BUILD_SERVICES_SAMPLES=on VARIANT=release BINDINGS=core,cpp OE_BASE=/usr
You'll have to install the packages libasound2 and libasound2-dev before compiling though. You can test if it works by running the file SinkService from the samples and streaming music to it from the Android app doubleTwist. If the music plays too fast make sure you modify the SConscript in alljoyn/multimedia/audio to include the asound library in the environment:
if audio_env['OS'] == 'linux':
audio_env.AppendUnique(LIBS = [ 'asound' ])
If trying to build the audio service but for Android you should check this page. If you can't connect to the SinkService from doubleTwist after building see this page. If you can connect but SinkService hangs see this page.
If your intention is to build all AllJoyn services and bindings switch to alljoyn/core/alljoyn folder and try something like this:
scons OS=linux CPU=arm WS=fix BR=on SERVICES=about,audio,config,controlpanel,notification,onboarding BUILD_SERVICES_SAMPLES=on VARIANT=release BINDINGS=core,cpp,c,java,js,objc,unity OE_BASE=/usr
HTH

Related

This app includes the following 32-bit only (armeabi-v7a) libraries: Oculus Dev Hub Submission Fail

Trying to upload a .apk to the Oculus App Lab and my Upload Failed with this error:
ERROR: Validation identified the following errors:
This app includes the following 32-bit only (armeabi-v7a) libraries: libOVRLipSync.so, libmemalign16.so, libovravatarloader.so, libmain.so, libmemalign16_cpp.so, libMonoPosixHelper.so, libovrplatformloader.so, libmono-native.so, libopenxr_loader.so, libmonobdwgc-2.0.so, libunity.so, libOVRPlugin.so, libOculusXRPlugin.so
I got around this by specifically targeting the x64 architecture. In Unity I did this by Project Settings > Player > Other Settings > Configuration
Change Scripting Backend to IL2CPP (Otherwise the next step is disabled)
Select ARM64 in Target Architectures

Flutter_Unity_Widget: Failure to initialize, Your hardware does not support this application

I'm trying to develop an entire screen in a flutter project using unity with Flutter_Unity_Widget.
I've followed the package installation instructions at pub.dev "https://pub.dev/packages/flutter_unity_widget"
but when I run the applications it pops up a window with some errors:
screenshot for emulator after running
E/Unity ( 5165): Failed to load 'libmain.so'
E/Unity ( 5165):
E/Unity ( 5165): java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.flutter_unity_app-H-CtYDrgxEULJH5uT-8PqQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.flutter_unity_app-H-CtYDrgxEULJH5uT-8PqQ==/lib/x86, /data/app/com.example.flutter_unity_app-H-CtYDrgxEULJH5uT-8PqQ==/base.apk!/lib/x86, /system/lib]]] couldn't find "libmain.so"
E/Unity ( 5165): Your hardware does not support this application.
and I can't handle this error.
versions:
unity: 2021.1.4f1
flutter_unity_widget: ^4.1.0
enulator: Nexus 6 API 28 android pie 9
Unity with emulator is usually painful way to develop. Try to find a real device. Because you have to export your unity as library correctly. First install to your device, then export as library. Do you have same errors with real device? Even you successfully install to your device, there is a warning with the widget you use.
Note: Supports only Unity 2019.4.3 or later. UnityFramework does not support emulator.

producing flutter (Xcode) testflight archive fails with multiple commands produce

need to produce an archive so we can upload to TestFlight so followed instructions in https://flutter.dev/docs/deployment/ios . my flutter runs on both real iPhone and simulator with no problem. so I produce a release version as required then open the resultant Xcode project (runner). immediately see the error
:-1: Multiple commands produce '/Users/jmcfet/Library/Developer/Xcode/DerivedData/Runner-cwxykfeiijpirmgbtrkzktdrahbt/ArchiveIntermediates/Runner/InstallationBuildProductsLocation/Applications/Runner.app/Frameworks/Flutter.framework':
1) Target 'Runner' has copy command from '/Users/jmcfet/AndroidStudioProjects/sis/ios/Flutter/Flutter.framework' to '/Users/jmcfet/Library/Developer/Xcode/DerivedData/Runner-cwxykfeiijpirmgbtrkzktdrahbt/ArchiveIntermediates/Runner/InstallationBuildProductsLocation/Applications/Runner.app/Frameworks/Flutter.framework'
2) That command depends on command in Target 'Runner': script phase “[CP] Embed Pods Frameworks”
now this does not happen when I do the same against the "Flutter Hello world" app so wondering what is messed up in my Flutter app
no luck :
johns-MacBook-Air:ios jmcfet$ pod install
Analyzing dependencies
Fetching podspec for Flutter from .symlinks/flutter/ios
Fetching podspec for video_player from .symlinks/plugins/video_player/ios
Downloading dependencies
Using Flutter (1.0.0)
Using video_player (0.0.1)
Generating Pods project
Integrating client project
Pod installation complete! There are 2 dependencies from the Podfile and 2 total pods installed.
[!] Automatically assigning platform ios with version 8.0 on target Runner because no platform was specified. Please specify a platform for this target in your Podfile. See https://guides.cocoapods.org/syntax/podfile.html#platform.
[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target Runner to Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig or include the Pods/Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig in your build configuration (Flutter/Release.xcconfig).
not an IOS expert but looks like the install was not successful. little confused as the Xcode project was generated by Flutter so why is Flutter generating a bad config file. if so looks like a bug to me

Android App Bundle - native code library failed to load

I need to replace the APK to App Bundle feature.
My app using some SDK with native libraries.
The app build.gradle dependencies countains:
     implementation files ('libs / refsi.jar')
     implementation files ('libs / tsi.jar')
The SDK native libraries (two .so files for each architecture) placed under /app/src/main/jniLibs/ (armeabi-v7a | arm64-v8a | x86 | x86_64 | armeabi)
I tried to use googles instructions, and I was looking for help, but after I download the app from google play to my test device, the SDK was not working - the log file shows that the files not found.
"...Native code library failed to load. dalvik.system.PathClassLoader[DexPathList[
[zip file "/data/app/ ....
Please help me understand the correct and simple way to use an app bundle in that case.
This might help you, according to google doc
When building an Android App Bundle, APKs generated from that app bundle that target Android 6.0 (API level 23) or higher now include uncompressed versions of your native libraries by default. This optimization avoids the need for the device to make a copy of the library and thus reduces the on-disk size of your app. If you'd rather disable this optimization, add the following to your gradle.properties file:
android.bundle.enableUncompressedNativeLibs = false

Tasks for production prepared Ionic app

I'm trying to figure out what's the best process to pass from the code to the final deployable apk/ipa.
So far I have a testsuite using Karma + Jasmine, which transpiles the TypeScript to JS and runs some unit tests. I start that process via gulp.
After that all I know is to ionic build android --release what generates (an unsigned yet) apk.
But I'm not sure of how ofuscated/minificated the generated apk is.
So, keeping in mind the code has to be as private as possible, is the minification and the ofuscation of the ionic build enough or should I do all those prebuild tasks manually via gulp?
And in that case, whats are the right tasks I should run, do I have to transpile all the TypeScript files to JS manually? and in what order should I run the tasks?
E.g. transpile -> tests -> minify -> uglify -> build apk or minify -> uglify -> transpile -> tests -> build apk
I'm a bit lost with this, and the only thing I can figure out is that the tests should be ran first, because is case of test failure the process should be aborted.
Try ionic-app-scripts >= 0.0.48 to config build.
Production:
ionic build android --prod
To check the minified file, open the apk file with GNOME Archive Manager (or similiar) and extract /assets/www/build/js/app.bundle.js file.
Preparing an Ionic Cordova app for release in production
1. Building
In your terminal execute the following command according to your platform (android / ios):
ionic build android --prod --release
2. Releasing
In order to be able to install a production application on a device and furthermore in order to be able to publish it in app stores, your .apk or .ipa
file needs to be signed. How you do that depends on the platform.
Here is the procedure in detail for Android and for iOS.
Preparing an Ionic Progressive Web App (PWA) for release in production
1. Building
In your package.json file, you should make sure to have something like the following:
"scripts": {
// ...
"build:www": "rm -rf www && ionic-app-scripts build --prod",
// ...
},
Now in your terminal run:
npm run build:www
2. Releasing
Your app is built in the folder www ready for you to serve in production using any webserver like NginX, Apache or a custom Node + Express webserver.
Valid as of Ionic v3.3
Learn more about ionic-scripts, what they do and which other scripts you could possibly find useful.