imsdroid
imsdroid copied to clipboard
imsdroid and Android 7
Hello:
I'm using imsdroid as SIP client for an android app that connects with Asterisk. It works perfectly for Android 5, but when I try in a device with Android 7 (for instance: Samsung S8) crashes inmediatally after login. I had to downgrade api target from 23 to 22 to solve the login problem, but others appears:
- /lib/arm/libtinyWRAP_neon.so has text relocations
- Call disconnections between client and Asterisk
I saw the following post in Duobango's mailing list:
"Using latest source code, you just need to build the libraries using 'commercial' target instead of 'gpl'. This will disable ffmpeg (replaced with libyuv) and x264 (replaced with openh264). These libraries introduce the relocation attributes"
After read it, I applied the solution: build source code using commercial target. However, when i tested the binaries in my app i got exactly the same poblems (1 and 2). May you help me to solve this issues?
Thanks in advance.
@jgpestana 1, build source code using commercial target 2, update webrtc lib
@jgpestana Hi, I have the same issue now. Did you solve it?
@linjiansheng For build source code using commercial target, I have a problem with the build same as below.
https://github.com/DoubangoTelecom/doubango/issues/505
How do I fix this?
@Capotasto I'm sorry for the late reply. 1, Follow https://github.com/DoubangoTelecom/doubango/commit/e58bfcddf01b23eb3fa66063ffbb7e3765943d79 , configure failed with webrtc, config.log:
ld: warning: skipping incompatible doubango/thirdparties/android/armv7-a-neon/lib/dist/libaudio_processing.a
ld: warning: skipping incompatible doubango/thirdparties/android/armv7-a-neon/lib/dist/libaudio_processing.a
This tell libaudio_processing.a is not armv7a-neon.
cd doubango/thirdparties/android/armv7-a-neon/lib/dist
arm-linux-androideabi-readelf -h ./libaudio_processing.a
File: ./libaudio_processing.a(libaudio_processing_la-aec_core.o)
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: REL (Relocatable file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x0
Start of program headers: 0 (bytes into file)
Start of section headers: 30288 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 0 (bytes)
Number of program headers: 0
Size of section headers: 64 (bytes)
Number of section headers: 15
Section header string table index: 12
@DoubangoTelecom webrtc lib(include armv5te, armv7-a, armv7a-neon) is X86-x64, Hope to update ~
2, I try to build DoubangoTelecom/webrtc-audioproc, delete '-fPIC"' in configure.ac, and copy libaudio_processing.a, libcommon_audio.a, libsystem_wrappers.a to doubango/thirdparties/android. rebuild doubango, the result is armv7-a-neon and x86 has text relocations. maybe assembly code introduce text relocations, update the webrtc version will be solved.
3, DoubangoTelecom/doubango#486 , reset webrtc lib to the old version a6e8cd78927b8a2115c051c9ce574241474a6ea4, and copy from armv7-a to replace armv7-a-neon.
4, disable webrtc, and use built-in AEC (NgnProxyAudioProducer.java)
Just change your target version to 22 it will work perfect
@MahendranB that's not suitable as you now have to target at least 26 to publish to Google Play