1. 背景
在JNI中使用中需要在一个c层的回调方法中调用Java层的静态方法,一开始的设想是初始化的时候保存JNIEvn与jclass为全局变量,需要的时候直接使使用。在实际使用中发现,直接使用会出现奔溃。
初步猜测可能是多线程引起。
2. 问题排查
2.1 步骤1 子线程中使用全局JNIEnv与jclass
使用方法
jmethodID mid = (*g_env)->GetStaticMethodID(g_env, g_cls, "print", "(Ljava/lang/String;)V");
jstring param = (*g_env)->NewStringUTF(……继续阅读 »
import java.io.Serializable;
public class IsAssignableFromTest implements Serializable{
/** 序列号 */
private static final long serialVersionUID = 5716955136475665579L;
public static void main(String[] args) {
//测试是否实现了父类
boolean re1= Object.class.isAssignableFrom(IsAssi……继续阅读 »
编译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_……继续阅读 »
一、查看自己的应用签名:
首先在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……继续阅读 »
一般来说,通常写法是这样的:
public class Singleton {
private static Singleton instance;
private Singleton (){}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
这种写法线程不安全,所以有的是加线程锁,加了之后是这样的:
pub……继续阅读 »
隐私政策
本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可分割的一部分。
1. 适用范围
(a) 在您注册本应用帐号时,您根据本应用要求提供的个人注册信息;
(b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动……继续阅读 »
using UnityEngine;
using System.Collections;
using System;
public class eventTest : MonoBehaviour
{
private event Action<uint> onClick;
private uint i = 0;
// Use this for initialization
void Start ()
{
onClick += OnClick;
onClick += OnClick;
onC……继续阅读 »
做一下记录:
find /sdcard/log/crash/ -mtime +30 | xargs rm -rf
……继续阅读 »
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……继续阅读 »
pm dump【包名】| grep -A 1 android.intent.action.MAIN: | tail -1
PS:windows貌似不能使用tail
……继续阅读 »