rno / webrtc Goto Github PK
View Code? Open in Web Editor NEWUnofficial distribution of up to date WebRTC framework binaries for Android
Unofficial distribution of up to date WebRTC framework binaries for Android
First of all thank you for providing prebuilt version of the webrtc for android.
I was using last official webrtc aar and then I try to use your prebuilt libwebrtc in my project but I am getting following error. What mistake I am doing? I will be very appricated if help me.
Failed to transform libwebrtc.aar to match attributes {artifactType=jar}.
> Execution failed for JetifyTransform: /bla bla bla/libs/libwebrtc.aar.
> Failed to transform '/bla bla bla/libs/libwebrtc.aar' using Jetifier. Reason: Cannot open a library at 'FileMapping(from=/bla bla bla/libs/libwebrtc.aar, to=/Users/tolgacakiroglu/.gradle/caches/transforms-2/files-2.1/ab6a11e32a1b73a30ff2cc67f50b99b0/jetified-libwebrtc.aar)'. (Run with --stacktrace for more details.)
Beginning with Android 15, Android supports devices that are configured to use a page size of 16 KB (16 KB devices). If your app uses any NDK libraries, either directly or indirectly through an SDK, then you will need to rebuild your app for it to work on these 16 KB devices.
https://developer.android.com/about/versions/15/behavior-changes-all#16-kb
Please build a new release with support for 16 KB page size.
Later versions of Chrome uses mDNS hostnames for ICE candidates on the local network. This fails to resolve with the latest (110.0.0) version of this library with the following warning:
onLogMessage: (line 1351): Failed to resolve ICE candidate hostname 72ab300a-9d58-4969-bdef-91674f1e24bc.local with error 7
Android should have support for resolving mDNS, so I'm not sure why this fails.
I have been trying to implement a WebRTC client using the following dependencies in my build.gradle
.
// implementation 'com.dafruits:webrtc:121.0.0'
implementation fileTree(dir: 'libs', include: ['*.aar'])
I tried both the options (using an aar file and using the version published in the repository). But I have been getting this error.
java.lang.UnsatisfiedLinkError: dlopen failed: library "libjingle_peerconnection_so.so" not found
at java.lang.Runtime.loadLibrary0(Runtime.java:1082)
at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
at java.lang.System.loadLibrary(System.java:1661)
at org.webrtc.NativeLibrary$DefaultLoader.load(NativeLibrary.java:20)
at org.webrtc.NativeLibrary.initialize(NativeLibrary.java:41)
at org.webrtc.PeerConnectionFactory.initialize(PeerConnectionFactory.java:296)
Could you help me identify why this is happening?
java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/datatransport/runtime/dagger/internal/Factory;
at com.google.android.datatransport.runtime.DaggerTransportRuntimeComponent.builder(DaggerTransportRuntimeComponent.java:73)
at com.google.android.datatransport.runtime.TransportRuntime.initialize(TransportRuntime.java:76)
at com.google.firebase.datatransport.TransportRegistrar.lambda$getComponents$0(TransportRegistrar.java:38)
at com.google.firebase.datatransport.-$$Lambda$TransportRegistrar$cPZPPfWZLxVwhtSgzJNU9TpSidE.create(lambda)
at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$ComponentRuntime(ComponentRuntime.java:132)
at com.google.firebase.components.-$$Lambda$ComponentRuntime$4FqOW9eOQsvFYo-HpMfxCOnPQr0.get(lambda)
at com.google.firebase.components.Lazy.get(Lazy.java:53)
at com.google.firebase.components.AbstractComponentContainer.get(AbstractComponentContainer.java:27)
at com.google.firebase.components.ComponentRuntime.get(ComponentRuntime.java:45)
at com.google.firebase.components.RestrictedComponentContainer.get(RestrictedComponentContainer.java:89)
at com.google.firebase.messaging.FirebaseMessagingRegistrar.lambda$getComponents$0(FirebaseMessagingRegistrar.java:61)
at com.google.firebase.messaging.-$$Lambda$FirebaseMessagingRegistrar$mnyerHGo6RZM3xcn1FE3fapbktk.create(lambda)
at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$ComponentRuntime(ComponentRuntime.java:132)
at com.google.firebase.components.-$$Lambda$ComponentRuntime$4FqOW9eOQsvFYo-HpMfxCOnPQr0.get(lambda)
at com.google.firebase.components.Lazy.get(Lazy.java:53)
at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:291)
at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:281)
at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:594)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:305)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:269)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:254)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45)
at android.app.ActivityThread.installProvider(ActivityThread.java:5924)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5516)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5455)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1550)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6190)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
Caused by: java.lang.ClassNotFoundException: com.google.android.datatransport.runtime.dagger.internal.Factory
at java.lang.VMClassLoader.findLoadedClass(Native Method)
at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)
at java.lang.ClassLoader.loadClass(ClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at com.google.android.datatransport.runtime.DaggerTransportRuntimeComponent.builder(DaggerTransportRuntimeComponent.java:73)
at com.google.android.datatransport.runtime.TransportRuntime.initialize(TransportRuntime.java:76)
at com.google.firebase.datatransport.TransportRegistrar.lambda$getComponents$0(TransportRegistrar.java:38)
at com.google.firebase.datatransport.-$$Lambda$TransportRegistrar$cPZPPfWZLxVwhtSgzJNU9TpSidE.create(lambda)
at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$ComponentRuntime(ComponentRuntime.java:132)
at com.google.firebase.components.-$$Lambda$ComponentRuntime$4FqOW9eOQsvFYo-HpMfxCOnPQr0.get(lambda)
at com.google.firebase.components.Lazy.get(Lazy.java:53)
at com.google.firebase.components.AbstractComponentContainer.get(AbstractComponentContainer.java:27)
at com.google.firebase.components.ComponentRuntime.get(ComponentRuntime.java:45)
at com.google.firebase.components.RestrictedComponentContainer.get(RestrictedComponentContainer.java:89)
at com.google.firebase.messaging.FirebaseMessagingRegistrar.lambda$getComponents$0(FirebaseMessagingRegistrar.java:61)
at com.google.firebase.messaging.-$$Lambda$FirebaseMessagingRegistrar$mnyerHGo6RZM3xcn1FE3fapbktk.create(lambda)
at com.google.firebase.components.ComponentRuntime.lambda$discoverComponents$0$ComponentRuntime(ComponentRuntime.java:132)
at com.google.firebase.components.-$$Lambda$ComponentRuntime$4FqOW9eOQsvFYo-HpMfxCOnPQr0.get(lambda)
at com.google.firebase.components.Lazy.get(Lazy.java:53)
at com.google.firebase.components.ComponentRuntime.doInitializeEagerComponents(ComponentRuntime.java:291)
at com.google.firebase.components.ComponentRuntime.initializeEagerComponents(ComponentRuntime.java:281)
at com.google.firebase.FirebaseApp.initializeAllApis(FirebaseApp.java:594)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:305)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:269)
at com.google.firebase.FirebaseApp.initializeApp(FirebaseApp.java:254)
at com.google.firebase.provider.FirebaseInitProvider.onCreate(FirebaseInitProvider.java:51)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1751)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1726)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(FirebaseInitProvider.java:45)
at android.app.ActivityThread.installProvider(ActivityThread.java:5924)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:5516)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5455)
at android.app.ActivityThread.-wrap2(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1550)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6190)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:892)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:782)
I am updating my build from Implementation 'org.webrtc:google-webrtc:1.0.32006
' To this repo (114). My old webrtc was working fine and when i update to this repo my android app start getting crashed. There were no particular cause i can see in log but this log might be the cause of crash
# Fatal error in: ../../../home/rno/webrtc/src/pc/peer_connection.cc, line 832
# last system error: 0
# Check failed: !IsUnifiedPlan()
# AddStream is not available with Unified Plan SdpSemantics. Please use AddTrack instead.
20:35:34.782 libc com.example code -1 (SI_QUEUE) in tid 32347 (signaling_threa), pid 31746
My Complete Code:=
public class Video_Voice_Call_Fragment extends Fragment {
private static final String TAG = "Video_Voice_Call_Frag";
private static final int PERMISSION_REQUEST_CODE = 1;
public static final int VIDEO_RESOLUTION_WIDTH = 1280;
public static final int VIDEO_RESOLUTION_HEIGHT = 720;
public static final int FPS = 30;
private EglBase rootEglBase;
private PeerConnectionFactory peerConnectionFactory;
private VideoCapturer videoCapturer;
private VideoSource videoSource;
private VideoTrack localVideoTrack;
private AudioTrack localAudioTrack;
private SurfaceViewRenderer localVideoView;
private SurfaceTextureHelper surfaceTextureHelper;
private SurfaceViewRenderer remoteVideoView;
private ImageButton greenCallButton;
private ImageButton redCallButton;
private MediaStream localMediaStream;
OkHttpClient client;
PeerConnection peerConnection,peerConnectionRemote;
private String FCMToken_Other;
TextView CallStatus;
ImageView UserImage;
SessionDescription localSDP;
boolean isCaller = true;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.fragment_video_voice_call, container, false);
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
initializePeerConnectionFactory();
setupLocalTracks();
setupUI(view);
startCall();
}
private void initializePeerConnectionFactory() {
// Initialize EGL context for rendering
rootEglBase = EglBase.create();
// Initialize PeerConnectionFactory
PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions.builder(requireContext())
.setEnableInternalTracer(true)
.createInitializationOptions());
DefaultVideoEncoderFactory videoEncoderFactory = new DefaultVideoEncoderFactory(rootEglBase.getEglBaseContext(),true,true);
DefaultVideoDecoderFactory videoDecoderFactory = new DefaultVideoDecoderFactory(rootEglBase.getEglBaseContext());
PeerConnectionFactory.Options options = new PeerConnectionFactory.Options();
peerConnectionFactory = PeerConnectionFactory.builder()
.setVideoDecoderFactory(videoDecoderFactory)
.setVideoEncoderFactory(videoEncoderFactory)
.setOptions(options)
.createPeerConnectionFactory();
//Set EGL context
localVideoView.init(rootEglBase.getEglBaseContext(), null);
localVideoView.setMirror(true);
}
private void setupLocalTracks() {
// Create video capturer
videoCapturer = createVideoCapturer();
// Create video source
videoSource = peerConnectionFactory.createVideoSource(false);
localVideoTrack = peerConnectionFactory.createVideoTrack("local_video", videoSource);
// Create audio source and track
AudioSource audioSource = peerConnectionFactory.createAudioSource(new MediaConstraints());
localAudioTrack = peerConnectionFactory.createAudioTrack("local_audio", audioSource);
surfaceTextureHelper = SurfaceTextureHelper.create("SurfaceHelper",rootEglBase.getEglBaseContext());
videoCapturer.initialize(surfaceTextureHelper,getActivity(),videoSource.getCapturerObserver());
if (videoCapturer!=null){
videoCapturer.startCapture(VIDEO_RESOLUTION_WIDTH,VIDEO_RESOLUTION_HEIGHT,FPS);
localVideoTrack.addSink(localVideoView);
}
// Create local media stream
localMediaStream = peerConnectionFactory.createLocalMediaStream("local_stream");
localMediaStream.addTrack(localVideoTrack);
localMediaStream.addTrack(localAudioTrack);
}
private VideoCapturer createVideoCapturer() {
VideoCapturer videoCapturer;
CameraEnumerator enumerator = new Camera2Enumerator(requireContext());
final String[] deviceNames = enumerator.getDeviceNames();
// Find front facing camera
for (String deviceName : deviceNames) {
if (enumerator.isFrontFacing(deviceName)) {
videoCapturer = enumerator.createCapturer(deviceName, null);
if (videoCapturer != null) {
return videoCapturer;
}
}
}
// Front facing camera not found, use the first available
if (deviceNames.length > 0) {
return enumerator.createCapturer(deviceNames[0], null);
} else {
return null;
}
}
private void startCall() {
// Create an offer and set local description
peerConnection = getPeerConnection();
peerConnection.addStream(localMediaStream);
peerConnection.createOffer(new SimpleSdpObserver() {
@Override
public void onCreateSuccess(SessionDescription sessionDescription) {
Log.d(TAG, "onCreateSuccess: " + sessionDescription.description);
//peerConnection.setLocalDescription(new SimpleSdpObserver(), sessionDescription);
localSDP = sessionDescription;
}
@Override
public void onCreateFailure(String s) {
Log.e(TAG, "onCreateFailure: " + s);
}
}, new MediaConstraints());
}
private PeerConnection getPeerConnection(){
ArrayList<PeerConnection.IceServer> iceServers = new ArrayList<>();
List<String> STUNList= Arrays.asList(
"stun:stun.l.google.com:19302",
"stun:stun1.l.google.com:19302",
"stun:stun2.l.google.com:19302",
"stun:stun3.l.google.com:19302",
"stun:stun4.l.google.com:19302",
"stun:stun.vodafone.ro:3478",
"stun:stun.samsungsmartcam.com:3478",
"stun:stun.services.mozilla.com:3478"
);
for(String i:STUNList){
PeerConnection.IceServer.Builder iceServerBuilder = PeerConnection.IceServer.builder(i);
iceServerBuilder.setTlsCertPolicy(PeerConnection.TlsCertPolicy.TLS_CERT_POLICY_INSECURE_NO_CHECK); //this does the magic.
PeerConnection.IceServer iceServer = iceServerBuilder.createIceServer();
iceServers.add(iceServer);
}
PeerConnection.RTCConfiguration rtcConfig = new PeerConnection.RTCConfiguration(iceServers);
PeerConnection.Observer observer = new PeerConnection.Observer() {
@Override
public void onSignalingChange(PeerConnection.SignalingState signalingState) {
Log.d(TAG, "onSignalingChange: "+signalingState);
}
@Override
public void onIceConnectionChange(PeerConnection.IceConnectionState iceConnectionState) {
Log.d(TAG, "onIceConnectionChange: "+iceConnectionState);
}
@Override
public void onIceConnectionReceivingChange(boolean b) {
Log.d(TAG, "onIceConnectionReceivingChange: Boolean = "+b);
}
@Override
public void onIceGatheringChange(PeerConnection.IceGatheringState iceGatheringState) {
Log.d(TAG, "onIceGatheringChange: "+iceGatheringState);
}
@Override
public void onIceCandidate(IceCandidate iceCandidate) {
Log.d(TAG, "onIceCandidate: "+iceCandidate);
}
@Override
public void onIceCandidatesRemoved(IceCandidate[] iceCandidates) {
Log.d(TAG, "onIceCandidatesRemoved: "+iceCandidates);
}
@Override
public void onAddStream(MediaStream mediaStream) {
Log.d(TAG, "onAddStream: "+mediaStream);
}
@Override
public void onRemoveStream(MediaStream mediaStream) {
Log.d(TAG, "onRemoveStream: "+mediaStream);
}
@Override
public void onDataChannel(DataChannel dataChannel) {
Log.d(TAG, "onDataChannel: "+dataChannel);
}
@Override
public void onRenegotiationNeeded() {
Log.d(TAG, "onRenegotiationNeeded: ");
}
@Override
public void onAddTrack(RtpReceiver rtpReceiver, MediaStream[] mediaStreams) {
Log.d(TAG, "onAddTrack: "+rtpReceiver+"--- "+mediaStreams);
}
};
Log.d(TAG, "generateICE: ");
return peerConnectionFactory.createPeerConnection(rtcConfig,observer);
}
}
Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 30897 (signaling_threa), pid 30601 (ido.strangeconn)
Process name is com.nido.strangeconn, not key_process
Cmdline: com.nido.strangeconn
pid: 30601, tid: 30897, name: signaling_threa >>> com.nido.strangeconn <<<
#1 pc 00000000003fcb0c /data/app/~~7EqGLyLAeIf0w4AslIAbqQ==/com.nido.strangeconn-bD20txg-BsXxXAIV6Z81lA==/lib/arm64/libjingle_peerconnection_so.so (BuildId: 8673458477f2f06c)
#2 pc 00000000003fd150 /data/app/~~7EqGLyLAeIf0w4AslIAbqQ==/com.nido.strangeconn-bD20txg-BsXxXAIV6Z81lA==/lib/arm64/libjingle_peerconnection_so.so (BuildId: 8673458477f2f06c)
#3 pc 000000000037a65c /data/app/~~7EqGLyLAeIf0w4AslIAbqQ==/com.nido.strangeconn-bD20txg-BsXxXAIV6Z81lA==/lib/arm64/libjingle_peerconnection_so.so (BuildId: 8673458477f2f06c)
#4 pc 00000000003731c8 /data/app/~~7EqGLyLAeIf0w4AslIAbqQ==/com.nido.strangeconn-bD20txg-BsXxXAIV6Z81lA==/lib/arm64/libjingle_peerconnection_so.so (BuildId: 8673458477f2f06c)
#5 pc 0000000000373204 /data/app/~~7EqGLyLAeIf0w4AslIAbqQ==/com.nido.strangeconn-bD20txg-BsXxXAIV6Z81lA==/lib/arm64/libjingle_peerconnection_so.so (BuildId: 8673458477f2f06c)
#6 pc 000000000041a2b4 /data/app/~~7EqGLyLAeIf0w4AslIAbqQ==/com.nido.strangeconn-bD20txg-BsXxXAIV6Z81lA==/lib/arm64/libjingle_peerconnection_so.so (BuildId: 8673458477f2f06c)
#7 pc 00000000004196f4 /data/app/~~7EqGLyLAeIf0w4AslIAbqQ==/com.nido.strangeconn-bD20txg-BsXxXAIV6Z81lA==/lib/arm64/libjingle_peerconnection_so.so (BuildId: 8673458477f2f06c)
#8 pc 000000000041a63c /data/app/~~7EqGLyLAeIf0w4AslIAbqQ==/com.nido.strangeconn-bD20txg-BsXxXAIV6Z81lA==/lib/arm64/libjingle_peerconnection_so.so (BuildId: 8673458477f2f06c)
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; CpuFgTime = 0 ms; CpuBgTime = -653 ms.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; CpuKernelFgTime = 0 ms; CpuKernelBgTime = -223 ms.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; CpuUserFgTime = 0 ms ; CpuUserBgTime = -430 ms.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; CpuFgPower = 0.0 mAh.; CpuBgPower = -0.01395016111111111 mAh.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; AlarmFgWakeupCount = 0; AlarmBgWakeupCount = 0
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; JobFgCount = 0; JobBgCount = 0; JobFgTime = 0; JobBgTime = 0
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; SyncFgCount = 0; SyncBgCount = 0; SyncFgTime = 0; SyncBgTime = 0
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; WakeLockFgTime = 0 ms; WakeLockFgPower = 0.0 mAh.; WakeLockBgTime = 0 ms; WakeLockBgPower = 0.0 mAh.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; ScreenFgTime = 1122739 ms; ScreenFgPower = 27.507105499999998 mAh.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgWifiRxBytes = 107305 Bytes; BgWifiRxBytes = -1136628 Bytes; FgWifiTxBytes = 22701 Bytes; BgWifiTxBytes = -127848 Bytes; FgWifiRxPackets = 123 ; BgWifiRxPackets = -1108 ; FgWifiTxPackets = 132 ; BgWifiTxPackets = -1047 ; FgWiFiScanTimeMs = 0 ; BgWiFiScanTimeMs = 0 ; FgWiFiBatchScanTimeMs = 0 ; BgWiFiBatchScanTimeMs = 0
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgWifiRxPacketsPower = 0.07046875357627869 mAh; BgWifiRxPacketsPower = -0.6347917318344116 mAh; FgWifiTxPacketsPower = 0.07562500238418579 mAh; BgWifiTxPacketsPower = -0.5998438000679016 mAh; FgWifiScanPower = 0.0 mAh; BgWifiScanPower = 0.0 mAh; FgWifiBatchScanPower = 0.0 mAh; BgWifiBatchScanPower = 0.0 mAh; FgWiFiTotalPower = 0.14609375596046448 mAh; BgWiFiTotalPower = -1.2346355319023132 mAh.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgMobileRxBytes = 0 Bytes; BgMobileRxBytes = 0 Bytes; FgMobileTxBytes = 0 Bytes; BgMobileTxBytes = 0 Bytes; FgMobileRxPackets = 0 ; BgMobileRxPackets = 0 ; FgMobileTxPackets = 0 ; BgMobileTxPackets = 0 ; FgMobileActiveCount = 0 ; BgMobileActiveCount = 0 ; FgMobileActiveTime = 0 ; BgMobileActiveTime = 0
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgMobileRxPacketsPower = 0.0 mAh; BgMobileRxPacketsPower = 0.0 mAh; FgMobileTxPacketsPower = 0.0 mAh; BgMobileTxPacketsPower = 0.0 mAh; FgMobileTotalPower = 0.0 mAh; BgMobileTotalPower = 0.0 mAh.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgGpsTime = 0 ms; BgGpsTime = 0 ms.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgGpsPower = 0.0 mAh; BgGpsPower = 0.0 mAh.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgSensorTime = 0 ms; BgSensorTime = 0 ms.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgSensorPower = 0.0 mAh; BgSensorPower = 0.0 mAh.
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgCameraTime = 0 ms; BgCameraTime = 0 ms
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgCameraPower = 0.0 mAh; BgCameraPower = 0.0 mAh
AppStats: Uid = 11001; pkgName = com.nido.strangeconn; FgFlashLightTime = 0 ms; BgFlashLightTime = 0 ms
This are the error logs thrown when trying to execute factory.createPeerConnection
In 1.0.7 build encounter with a issue.
E/AndroidRuntime: FATAL EXCEPTION: main Process: com.trackify.management.test_dev, PID: 11064 java.lang.RuntimeException: Unable to instantiate application com.trackify.management.MainApplication package com.trackify.management.test_dev: java.lang.ClassNotFoundException: Didn't find class "com.trackify.management.MainApplication" on path: DexPathList[[zip file "/data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/base.apk"],nativeLibraryDirectories=[/data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/lib/arm64, /data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]] at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1466) at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1395) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6746) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2134) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7898) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.trackify.management.MainApplication" on path: DexPathList[[zip file "/data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/base.apk"],nativeLibraryDirectories=[/data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/lib/arm64, /data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.AppComponentFactory.instantiateApplication(AppComponentFactory.java:76) at androidx.core.app.CoreComponentFactory.instantiateApplication(CoreComponentFactory.java:52) at android.app.Instrumentation.newApplication(Instrumentation.java:1232) at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1458) at android.app.LoadedApk.makeApplicationInner(LoadedApk.java:1395) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6746) at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2134) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7898) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936) Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/trackify/remote/screenshare/LibraryBuilderListener; at java.lang.VMClassLoader.findLoadedClass(Native Method) at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:738) at java.lang.ClassLoader.loadClass(ClassLoader.java:363) ... 16 more Caused by: java.lang.ClassNotFoundException: Didn't find class "com.trackify.remote.screenshare.LibraryBuilderListener" on path: DexPathList[[zip file "/data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/base.apk"],nativeLibraryDirectories=[/data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/lib/arm64, /data/app/~~-GG07L6_baGyS_IXw3IYIQ==/com.trackify.management.test_dev-CEAuKQMCRlTtwX1nqUWgZw==/base.apk!/lib/arm64-v8a, /system/lib64, /system_ext/lib64]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) ... 19 more I/Process: Sending signal. PID: 11064 SIG: 9
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.