Android
文章平均质量分 53
dotphoenix
Life,Tennis, Software Architecture
展开
-
android webrtc构建过程
How To Compile Native WebRTC Library from Source for Androidsource: webrtc.orgIn this article I assume you use Linux and understand about webrtc, and android development, please consider ...转载 2020-04-10 14:02:51 · 7891 阅读 · 0 评论 -
WebRTC ICE candidate里面的raddr和rport表示什么?
举例如下:a=candidate:1853887674 1 udp 1518280447 47.61.61.61 36768 typ srflx raddr 192.168.0.196 rport 36768 generation 0解释:raddr and rport are for debugging purpose.https://tools.ietf.org/html/rfc...翻译 2020-04-03 10:17:20 · 7855 阅读 · 0 评论 -
SSL/TLS应用示例
1、SSL/TLS简介协议是Web浏览器与Web服务器之间安全交换信息的协议,提供两个基本的安全服务:鉴别与保密。1.1、作用不使用SSL/TLS的HTTP通信,就是不加密的通信。所有信息明文传播,带来了三大风险。窃听风险(eavesdropping):第三方可以获知通信内容。 篡改风险(tampering):第三方可以修改通信内容。 冒充风险(pretending):第三方可...转载 2020-03-09 15:42:37 · 5611 阅读 · 0 评论 -
只需简单一步,android自带的示例程序 BluetoothChat 变蓝牙串口助手
本人菜鸟,高手勿喷 看到 lisn3188 龙南 网友发布的蓝牙串口助手 的应用 http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=5289768&bbs_page_no=1&search_mode=4&search_text=duxingkei&bbs_id=9999,突然想到通过我的安卓手机蓝牙串口配合蓝牙串口模块可以实现许多有意思的应转载 2013-03-29 11:36:52 · 9757 阅读 · 1 评论 -
官方标准版如何编译webrtc ( how to compile webrtc )
Before you startFirst, be sure to install the prerequisite software(如下红色字体部分).Depot Tools1. You'll need to have the depot tools installed:https://sites.google.com/a/chromium.org/dev/转载 2012-07-25 12:47:43 · 17709 阅读 · 3 评论 -
NDK/JNI 已有第三方静态库(动态库),编译静态库(动态库) -- 试试
情况四:已有第三方静态库(动态库),编译静态库(动态库)文件Android.mk:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := thirdlib1 # name it whateverLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libthir转载 2012-07-23 16:50:24 · 1958 阅读 · 0 评论 -
最新版本的ppsip v3 SDK(采用全新的架构,并添加了视频支持,音视频引擎使用GIPS(基于WebRTC))发布了(联系dotphoenix@qq.com)。
最新版本的ppsip v3 SDK(采用全新的架构,并添加了视频支持,音视频引擎使用GIPS(基于WebRTC))发布了(联系dotphoenix@qq.com)。它具有以下特点:1. 提供High level和Low Level两层API,high level只有10个函数,可以让你在极短的时间内开发出一个功能全面,稳定且强大的视频电话。而low level的api有原创 2012-07-20 16:43:46 · 3599 阅读 · 0 评论 -
ANDROID NDK使用第三方静态库的方法
include $(CLEAR_VARS) LOCAL_MODULE := libA LOCAL_SRC_FILES := libA.a include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE := libB LOCAL_S转载 2012-07-02 21:39:52 · 4239 阅读 · 0 评论 -
WebRTC在XP + VS2005 + Windows SDK 6.0环境的编译
WebRTC在XP + VS2005 + Windows SDK 6.0环境的编译 在 项目源码中,并没有直接提供解决方案(sln)和工程文件,是因为WebRTC和Chromium一样,使用了depot_tools这个工具用来自动生 成项目文件。Google也能搜索出一堆的编译方案,但基本上就是对https://sites.google.com/site/webr原创 2012-04-10 11:58:57 · 4799 阅读 · 0 评论 -
5.3版本mongoose的多线程实例源代码
5.3版本mongoose的多线程实例源代码原创 2014-05-26 09:35:42 · 7620 阅读 · 1 评论 -
boost生成和解析json的完整例子
boost生成和解析json的完整例子原创 2014-05-26 14:35:58 · 18352 阅读 · 6 评论 -
使用Genymotion调试出现错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE或者抛出UnsatisfiedLinkError异常的解决办法
将你的虚拟器运行起来,将下载好的zip包用鼠标拖到虚拟机窗口中,出现确认对跨框点OK就行。然后重启你的虚拟机。原创 2014-05-26 18:54:51 · 6406 阅读 · 0 评论 -
Android:Layout_weight的深刻理解
最近写Demo,突然发现了Layout_weight这个属性,发现网上有很多关于这个属性的有意思的讨论,可是找了好多资料都没有找到一个能够说的清楚的,于是自己结合网上资料研究了一下,终于迎刃而解,写出来和大家分享。首先看一下Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重。很多人不知道剩余空间是个什么概念,下面我先来说说剩余空间。看下面代码:转载 2015-07-11 10:48:08 · 4303 阅读 · 0 评论 -
如何在Android中使用汇编语言
from: http://www.cnblogs.com/zenny-chen/archive/2011/11/01/2232305.html由于Android环境非常复杂,框架都是用Java,因此要使用C/C++都需要做很多配置,使用汇编的话需要做更多的工作。我这边使用的是最新的Android4.0的开发工具,NDK也是最新支持4.0的。这个NDK与老版本的有一些比较转载 2015-12-29 11:20:52 · 6507 阅读 · 0 评论 -
复制Android Studio 工程到其它电脑后遇到The SDK directory 'XXXX‘ does not exist.问题的解决方法
复制Android Studio 工程到其它电脑后遇到如下问题:Error:A problem occurred configuring project ':app'.> The SDK directory '/Users/alex/Library/Android/sdk' does not exist.解决办法:在项目的根目录下找到文件: "local.pro原创 2015-12-22 10:24:46 · 21338 阅读 · 3 评论 -
Where the Android-SDK is installed ?
Where the Android-SDK is installed depends on how you installed it.If you downloaded the SDK through their website and then dragged/dropped the Application to your Applications folder, it's most l转载 2018-02-06 15:08:52 · 960 阅读 · 0 评论 -
在ubuntu下编译android和linux版webrtc的步骤
1. 安装干净的ubuntu16.04 x86_64位版本2. 使用apt-get安装git和Python2.73. 下载depot_tools(https://storage.googleapis.com/chrome-infra/depot_tools.zip),解压后将其路径加入~/.bashrc(export PATH=/home/alex/Desktop/webrtc/depot...原创 2018-08-16 15:04:20 · 3960 阅读 · 2 评论 -
Netty UDP Server&Client
UDP Server:package cn.insighters.udp;import io.netty.bootstrap.Bootstrap;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelOption;import io.netty.channel.nio.NioEventL...原创 2019-02-26 18:47:06 · 3450 阅读 · 0 评论 -
ril.cpp中的strndup16to8和strdup8to16和readString16Inplace
const char16_t* Parcel::readString16Inplace(size_t* outLen) const{ int32_t size = readInt32(); // watch for potential int overflow from size+1 if (size >= 0 && size < INT32_MAX) {原创 2012-02-21 21:14:35 · 3777 阅读 · 2 评论 -
reference-ril.c解析
/* //device/system/reference-ril/reference-ril.c**** Copyright 2006, The Android Open Source Project**** Licensed under the Apache License, Version 2.0 (the "License");** you may not use this fil原创 2012-03-09 16:30:19 · 12181 阅读 · 0 评论 -
ril.cpp解析
/* //device/libs/telephony/ril.cpp**** Copyright 2006, The Android Open Source Project**** Licensed under the Apache License, Version 2.0 (the "License"); ** you may not use this file except in c原创 2012-03-09 16:32:15 · 5482 阅读 · 0 评论 -
Android.mk文件语法规范及使用模板
<br />Android.mk文件语法规范<br />根据eoeandroid上的的连载,进行一些更新、修改和加亮。<br />今天翻译ANDROID-MK.TXT文件(英文原文件在/development/Ndk/Docs/android-mk.txt)<br />Android.mk文件语法规范<br />Introduction:<br />Android.mk编译文件是用来向Android NDK描述你的C,C++源代码文件的, 这篇文档描述了它的语法。在阅读下面的内容之前,假定你已经阅读了doc转载 2010-11-01 10:25:00 · 915 阅读 · 0 评论 -
android平台从froyo 2.2开始支持jni单步调试了
<br />一、写在前面的话(可以理解为废话)前段时间从网上看了google的io大会,亲眼看到了google在it技术发展和创新领域所做的工作(在此也问候一下apple公司的美术家门,你们辛苦了)。虽然google认为未来pc上只可能存在两种程序——browser和game,但是就目前来看,pc平台上的application还是有一定的市场的,html5的推广和应用毕竟是需要一定时间的(第一个吃螃蟹的人,可能会吃的很好,但是如果第一个吃蘑菇的人呢?如果吃到的是毒蘑菇呢?业内都在等,在看,一旦别人吃的还行,转载 2010-11-01 10:24:00 · 1203 阅读 · 1 评论 -
如何使Android应用程序获取系统权限【转】
<br />如何使Android应用程序获取系统权限【转】<br />2010-07-06 09:52<br />转自:http://blog.csdn.net/liujian885/archive/2010/03/22/5404834.aspx<br />在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm d转载 2010-12-28 10:39:00 · 1022 阅读 · 0 评论 -
在Android模拟器中删除APK的方法
1. 准备 打开cmd,运行 adb shell2. 删除系统自带的APK,系统自带的程序位于/system/app,所以,想要擅长这些APK,必须首先获得system目录的写权限,而该目录默认是只读的,执行下面的指令mount -o remount /dev/block/mtdblock0 /system然后执行cd /system/apprm AlarmClock.apk3.删除安装的APK,安装的APK唯一/data/app目录下cd /data/apprm原创 2010-11-22 15:56:00 · 3189 阅读 · 1 评论 -
apt-get位于代理服务器之后的使用方法
<br />使用root权限编辑 /etc/bash.bashrc,把下面两行加在该文件的结尾:<br /><br />export http_proxy=http://username:password-AT-proxyserver-DOT-net:port/<br />export ftp_proxy=http://username:password@proxyserver-DOT-netport/原创 2010-11-22 15:50:00 · 1169 阅读 · 0 评论 -
How to crop large photos with Android MediaStore
<br />Overview<br />I’m writing this article to publish my brief research on the MediaStore crop functionality. Basically, if you want to write an application that leverages the existing Media Gallery and allows a user to pick (with optional face recognit转载 2010-11-24 15:33:00 · 2569 阅读 · 0 评论 -
ubuntu下Android源代码模块编译
<br /><转 载>ubuntu下Android源代码模块编译Android 开发 2010-07-09 17:28:52 阅读303 评论1 字号:大中小 订阅1.下载Android源代码的过程就不说了,网上资料一大把2.安装jdk1.5的步骤就不说了,网上资料一大把3.下载源代码我放置的目录是/home/wuyutaott/android4.进入android命令行中输入make进行编译,漫长的等待,需要半天时间5.配置环境 gedit .bashrc 注意路径,我转载 2011-01-25 21:25:00 · 1644 阅读 · 0 评论 -
为 Android添加底层核心服务
<br />为 Android添加底层核心服务1. 为什么要写底层核心服务呢?<br /> 因为底层核心服务是 Android框架里最接近 Linux/Driver的部分。为了充分发挥硬件设备的差异化特性,核心服务是让上层 Java应用程序来使用 Driver/HW Device 特色的重要管道。例如 Media、 Telephone等底层硬件。<br /> 在开机过程中,就可以启动核心服务(汉字输入法服务等),让众多应用程序来共同使用。<br />由于共用,所以能有效降转载 2011-04-19 08:19:00 · 1350 阅读 · 0 评论 -
VMWare安装Ubuntu10.10 server版的NAT方式上网方法,以及apt-get使用公司代理安装程序的方法
<br />一、虚拟机网络设置宿主机网络环境:局域网+http代理连外网本设置为虚拟机三种网络设置方式的NAT方式1、在宿主机上的操作1-1)把虚拟机的虚拟网卡VMware Network Adapter VMnet8的IP、DNS获取方式设为自动获取;1-2)查看宿主机的连接外网的网卡的属性,选择“高级”标签,设置成允许共享,并设定允许的网络接口为VMNET8(注意现在是NAT的方式,如果是bridge必须是(VMNET1);1-3)开启VMware DHCP Service和VMware NAT Ser原创 2011-04-29 15:10:00 · 3376 阅读 · 0 评论 -
基于webrtc的gips 语音引擎库及测试程序(源代码下载地址:http://download.csdn.net/detail/dotphoenix/3674515)
测试程序源代码下载地址:http://download.csdn.net/detail/dotphoenix/3674515gips库头文件解释:#pragma once#ifdef LIBGIPS_WEBRTC_EXPORTS#define LIB_GI原创 2011-10-15 09:07:53 · 8266 阅读 · 2 评论 -
Android NDK r6b使用stl遇到undefined reference to `std::__node_alloc::_M_allocate(unsigned int&)” 的终极解决办法
Android NDK r6b使用stl遇到undefined reference to `std::__node_alloc::_M_allocate(unsigned int&)” 的终极解决办法在Android.mk里面加入下面的宏LOCAL_CFLAGS := \'-D_STLP_USE_NEWALLOC'原创 2011-12-29 10:02:56 · 11324 阅读 · 0 评论 -
Android ril_event.cpp中event list分析
下图是给一个list(实际也是个event)两次添加一个event后的图示下面是整理后的源代码,可以在gcc或者VC中编译debugtypedef void (*ril_event_cb)(int fd, short events, void *userdata);struct ril_event { struct ril_event *next; st原创 2012-02-21 15:53:57 · 1466 阅读 · 0 评论 -
ril.cpp中用到的RecordStream类分析
RecordStream实际上是一个用于存放数据的结构体,这个结构体提供了一些操作类来保证这个RecordStream所绑定的文件描述符被读取时 里面的数据会被完整读取。源代码:#include #include #include #include #include #include #include #ifdef HAVE_WINSOCK#include /原创 2012-02-20 21:32:27 · 2429 阅读 · 1 评论 -
关于reference-ril中的函数pthread_cond_timeout_np的解释
先贴出源代码:int pthread_cond_timeout_np(pthread_cond_t *cond, pthread_mutex_t * mutex, unsigned msecs) { struct timespec ts; ts.tv_sec =原创 2012-03-01 09:17:43 · 5491 阅读 · 0 评论 -
ril.cpp中watch_table,timer_list和pending_list的分析
在ril.cpp中定义了3个队列,分别是watch_table,timer_list和pending_list,他们里面都存放的是ril_event结构,他们的主要作用如下:1. watch_table是一个指针数组,它里面存放的是靠多路复用来驱动的ril_event,起作用的是fd参数,使用ril_event_add朝里面添加event,使用ril_event_del来删除里面的event。原创 2012-03-05 12:00:09 · 2319 阅读 · 0 评论 -
atchannel.c解析
/* //device/system/reference-ril/atchannel.c**** Copyright 2006, The Android Open Source Project**** Licensed under the Apache License, Version 2.0 (the "License");** you may not use this file ex原创 2012-03-09 16:28:43 · 5674 阅读 · 0 评论 -
获取屏幕上正在显示的activity
<br /> 用过ActivityManager的童鞋估计都知道,可以从ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。<br /><br /> 那么,从里面我们可以发掘点什么出来吗?<br /><br /> 仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。而且返回的这个列表是按照顺序排列的,也就是说第一转载 2010-10-25 20:42:00 · 3128 阅读 · 1 评论