注册 登录
  • 欢迎访问Sharezer Blog

JNI中多线程回调Java方法问题 24小时内最新

1. 背景 在JNI中使用中需要在一个c层的回调方法中调用Java层的静态方法,一开始的设想是初始化的时候保存JNIEvn与jclass为全局变量,需要的时候直接使使用。在实际使用中发现,直接使用会出现奔溃。 初步猜测可能是多线程引起。 2. 问题排查 2.1 步骤1 子线程中使用全局JNIEnv与jclass 使用方法 jmethodID mid = (*g_env)->GetStatic……继续阅读 »

sharezer 16小时前 9浏览 0评论 0个赞

Java 内置异常类

异常 描述 ArithmeticException 当出现异常的运算条件时,抛出此异常。例如,一个整数”除以零”时,抛出此类的一个实例。 ArrayIndexOutOfBoundsException 用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。 ArrayStoreException 试图将错误类型的对象存储到一……继续阅读 »

sharezer 7天前 11浏览 0评论 0个赞

Android(阿里)路由框架ARouter学习

1 背景 什么是路由框架?说简单点就是映射页面跳转关系的,当然它也包含跳转相关的一切功能。 1.1 原生方案的不足 我们所使用的原生路由方案一般是通过显式intent和隐式intent两种方式实现的,均存在一定意义上的缺陷。 显式,即直接指定需要打开的activity对应的类。 以下多种方式都是一样的,实际上都是设置Component直接指定Activity类的显式Intent 。 // 1、构造……继续阅读 »

sharezer 3周前 (09-05) 45浏览 0评论 0个赞

AndroidLibrary提交到JCenter仓库

1 为什么我们需要将library提交到jcenter仓库 jcenter 就是 Android library 文件服务器中的其中一个,另外一个就是 Maven Central,这两个都是Maven 仓库。 jcenter 由 bintray.com 维护 , Maven Central 则是由 sonatype.org 维护,它们分别存储在不同的服务器,两者没有任何关系。在 http://jc……继续阅读 »

sharezer 3周前 (09-05) 42浏览 0评论 0个赞

Android 混淆配置

## ------------------------------------- 混淆基础配置 --------------------------------------------- # 指定压缩级别 -optimizationpasses 5 # 不跳过非公共的库的类成员 -dontskipnonpubliclibraryclassmembers # 混淆时采用的算法(google推荐,一般……继续阅读 »

sharezer 3周前 (09-05) 17浏览 0评论 0个赞

旋转屏幕导致Activity重建问题的解决办法

Android开发文档上专门有一小节解释这个问题。简单来说,Activity是负责与用户交互的最主要机制,任何“设置”(Configuration)的改变都可能对Activity的界面造成影响,这时系统会销毁并重建Activity以便反映新的Configuration。 “屏幕方向”(orientation)是一个Configuration,通过查看Configuration类的javadoc可以……继续阅读 »

sharezer 3个月前 (06-21) 60浏览 0评论 0个赞

Android逆向基础知识Smali

什么是Smali  我们用工具反编译一些APP的时候,会看到一个smali文件夹,里面其实就是每个Java类所对应的smali文件。Android虚拟机Dalvik并不是执行java虚拟机JVM编译后生成的class文件,而是执行再重新整合打包后生成的dex文件,dex文件反编译之后就是smali代码,可以说,smali语言是Dalvik的反汇编语言 JAVA和Smali数据类型对比 JAV……继续阅读 »

sharezer 3个月前 (06-21) 48浏览 0评论 0个赞

WebRTC Android H264 硬解码支持更多的机型

WebRTC默认支持使用了高通,英特尔和三星CPU等国际大厂的机型,很多小众的机型或者新生的CPU没有开启支持,需要我们手动添加 修改方法:WebRTC通过MediaCodec来支持硬编码,我们需要修改的核心文件为以下两个 ./src/webrtc/sdk/android/api/org/webrtc/MediaCodecVideoEncoder.java ./src/webrtc/sdk/and……继续阅读 »

sharezer 3个月前 (06-13) 119浏览 0评论 0个赞

Webrt中H264编码相关问题

编译WebRTC后,默认是没有把H264编码编进来的。WebRTC中H264编码采用的是openh264,解码默认采用的是ffmpeg,移动版本android,ios默认采用的是系统的h264硬件编码,如果你的手机支持H264硬件编码的话,WebRTC就会默认支持H264。 1.如何在桌面版本中开启H264编码 使用gn生成ninja文件时,加入以下两个选项就可以生成 ffmpeg_brandin……继续阅读 »

sharezer 3个月前 (06-13) 87浏览 0评论 0个赞