android
文章平均质量分 61
宝贝等等我
学得越多,感觉自己懂得越少,就想弄明白,再学点。也许这就是学习的动力。
展开
-
android 中获取所有有效网卡和对应的IP地址
在开发应用时,经常要获取网络的所有网卡的IP地址,这样可以选择绑定哪个网卡。代码如下:获取所有有效的网卡:import java.net.Inet6Address;import java.net.InetAddress;import java.net.NetworkInterface;public static String[] getAllNetInterface() {...原创 2018-09-04 11:36:58 · 6312 阅读 · 0 评论 -
使用android studio创建jar包工程,并导出jar
1、打开android studio选择File->New->New Module... 选择Android Library,创建一个Android Library的jar包工程2、打开工程中的build.gradle在文件末尾添加如下脚本task deleteOldJar(type:Delete) { delete 'build/libs/APPTes...原创 2018-04-13 16:36:35 · 1631 阅读 · 0 评论 -
android 5.1 添加自定义的SystemServer服务
某些情况下,在系统研发时,需要加入自定义的SystemServer服务,以便为应用提供自定义的功能。 下面介绍如果添加自定义的SystemServer系统服务。 本示例基于Android 5.1版本,如果是其他的android版本,可参考。 以自定义DDTS服务为例,步骤如下:1、创建自定义服务的aidl文件 创建aidl文件目录:frameworks/base/c...原创 2018-04-13 16:21:36 · 1677 阅读 · 0 评论 -
android 原生工程中集成第三方so动态库和.a静态库和apk
在android实际的开发过程中,经过需要使用到第三方的资源,第三方提供的资源包括apk文件,so动态库文件,.a的静态库文件。而第三方提供的这些资源,经常需要集成到Android的原生工程中。 集成so动态库,Android.mk文件书写如下: #build lib soLOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)...原创 2017-09-09 16:20:13 · 4084 阅读 · 1 评论 -
强制关闭android 的selinux
有时候需要添加本地服务,但是selinux的机制,导致添加本地服务要添加很多权限。如果我们只是要调试本地服务器的功能,而不想花很多的时间在selinux权限的添加调试上,我们可以关闭selinux。 请注意,本方法是适用于可以编译android整个工程。 修改init.rc,文件路径:/system/core/rootdir/init.rc 打开init.原创 2017-09-06 10:55:06 · 22950 阅读 · 5 评论 -
pjsip 多方通话
在pjsip 2.6的pjproject-2.6\pjsip-apps\src\pjsua 目录下,有个很好的例子,可以拨打单方通话和多方通话。 示例在:pjsua_app_cli.c里面static pj_status_t cmd_make_multi_call(pj_cli_cmd_val *cval)函数中。多方通话的逻辑和单独拨打一个电话的逻辑是一样的,只是拨打一个电话,调用...原创 2017-07-27 10:40:16 · 4300 阅读 · 3 评论 -
Android NDK 编译PjSip 2.6 之 测试PjSip apk(四)
其实编译PjSip和生成example apk都比较快,但是在测试example apk时,碰到了问题。 我们的开发环境大多都是局域网,而sip如果要跨网段打电话,就需要sip服务器和stun服务器。 其实,如果我们的手机都在同一个网段的局域网,而且只是测试PjSip的功能,是没有必要使用sip服务器和stun服务器的。 下面说下,不需要sip服务器和stun服务原创 2017-07-19 14:48:45 · 1705 阅读 · 2 评论 -
Android NDK 编译PjSip 2.6 之 PjSip编译 (二)
我的项目中,需要视频通话功能,所以PjSip需要配置h264编码器,在编译PjSip前,需要先编译openh264。一、编译openh264 1)、设置环境变量,Android NDK 编译PjSip 2.6 之 环境准备 (一)中说明了,可以把环境变量保存成env.sh文件。 $export ANDROID_SDK_ROOT=/home/xxx/PJSI原创 2017-07-19 10:43:58 · 3558 阅读 · 0 评论 -
Android NDK 编译PjSip 2.6 之 环境准备 (一)
多年前因为工作需要,有接触sip,但是没有做好记录。现在因为项目原因,又要重新使用sip。所以还是记录吧,脑容量有限,经常做过以后就忘了。 感谢国内的很多网站,因为某些原因,Android的官网在没有VPN的情况下,基本上不去,下载资源别提有多辛苦和郁闷了。 这网站很多android的工具资源都可以下载到:http://tools.android-studio.org/inde原创 2017-07-19 10:30:28 · 2777 阅读 · 2 评论 -
Android NDK 编译PjSip 2.6 之 搭建PjSip apk开发环境 (三)
Android NDK 编译PjSip 2.6 之 PjSip编译 (二)中已经把so 和java文件编译出来。可以开始搭建apk的开发环境。 我们导入PjSip的example apk程序,编译生成apk放到手机中测试。 1)、把pjproject-2.6/pjsip-apps目录拷贝出来,放到自己的PC机的 apk开发目录中。 2)、进入到pjproject-原创 2017-07-19 11:39:10 · 4004 阅读 · 0 评论 -
高通项目 首次开机后apk随机报错
在开发msm8909项目过程中,碰到一个现象,就是烧完版本后开机,会随机出现apk报错的情况,过一段时间,再关机开机,就没有报错。 在Log中,主要报如下错误:E AndroidRuntime: java.lang.RuntimeException: Unable to get provider com.android.providers.contacts.debug.Dump原创 2017-06-30 10:17:22 · 1373 阅读 · 0 评论 -
Android odex优化提高首次开机速度
Android ,odex优化, 开机速度原创 2017-06-30 09:20:10 · 6280 阅读 · 0 评论 -
Android framework层的C++代码设置线程优先级
int threadFunc(void* func) { pid_t tid = androidGetTid(); androidSetThreadPriority(tid, ANDROID_PRIORITY_AUDIO); while(1) { ...... }}通过上面的代码可以设置framework层C++的线程 优先级。参考:Audio...原创 2018-10-18 14:05:12 · 1511 阅读 · 0 评论