登录
  • 欢迎访问Sharezer Blog

sharezer的文章

Android

Webrt中H264编码相关问题

编译WebRTC后,默认是没有把H264编码编进来的。WebRTC中H264编码采用的是openh264,解码默认采用的是ffmpeg,移动版本android,ios默认采用的是系统的h264硬件编码,如果你的手机支持H264硬件编码的话,WebRTC就会默认支持H264。 1.如何在桌面版本中开启H264编码 使用gn生成ninja文件时,加入以下两个选项就可以生成 ffmpeg_branding="Chrome" rtc_use_h264=true,比如我要编译Linux版本,使用以下命令 gn gen out/linux --args='target_os="linux" target_……继续阅读 »

Android

Android查看自己的应用签名及三方APK签名信息

一、查看自己的应用签名: 首先在Terminal控制台中,输入:keytool -list -keystore -v -keystore + jks文件的绝对路径, keytool -list -keystore -v -keystore C:\Users\Administrator\Desktop\test.jks .输入密钥库命令:(这里输入的就是你设置的密码,千万别说你忘记了) 然后就可以查看指纹证书了 二、查看三方的APK签名信息: 用winrar或7-zip等压缩工具打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件(例子:CER……继续阅读 »

Android

Android 单例模式最好的写法

一般来说,通常写法是这样的: public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } } 这种写法线程不安全,所以有的是加线程锁,加了之后是这样的: pub……继续阅读 »

Default

隐私政策

隐私政策 本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可分割的一部分。 1. 适用范围 (a) 在您注册本应用帐号时,您根据本应用要求提供的个人注册信息; (b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动……继续阅读 »

Android

I420Frame转YuvImage

private YuvImage i420ToYuvImage(ByteBuffer[] yuvPlanes, int[] yuvStrides, int width, int height) { if (yuvStrides[0] != width) { return fastI420ToYuvImage(yuvPlanes, yuvStrides, width, height); } if (yuvStrides[1] != width / 2) { return fastI420ToYuvImage(yuvPlanes, yuvSt……继续阅读 »

Adb

通过adb获取task id

/** * 通过包名获取task id,不存在为-1 * * @param packageName * @return */ public int getTaskId(String packageName) { String result = execRootCmd("dumpsys activity | grep " + packageName); int start = result.indexOf("TaskRecord{"); if(start > 0){ int end = result……继续阅读 »

Adb

Android 判断某个应用是否处于前台显示状态

/** * 返回当前的应用是否处于前台显示状态 * * @param packageName * @return */ public boolean isTopActivity(String packageName) { String result = execRootCmd("dumpsys activity | grep \"mResumedActivity\""); int start = result.indexOf("u0") + 3; int end = result.indexOf("/"); Log.d(TAG, "s: " + sta……继续阅读 »