随笔分类 -  android

1 2 3 4 5 ··· 122 下一页
android
摘要:起因 前公司商城App项目使用的是H5开发,有微信公众号、Ios和Android三个版本,H5版本是自己写的一套框架,已经用了有些年头了,承载不下不断涌现出的新需求。而Ios和Android端通过webview加载h5文件显示,App的原生功能和H5交互的代码写得有些凌乱,在我接手项目后老板完全没给 阅读全文
posted @ 2019-04-01 11:49 星辰之力 阅读(10705) 评论(0) 推荐(1) 编辑
摘要:Android 的assets文件夹的放置位置,Eclipse创建项目时就生成了的,Android Studio则不太一样,AS可以包含几种方式, 1:可以在build.gradle文件下配置,加如下代码 根据 assets.srcDirs=['src/assets'] 这个路径来放置,(注:路径可 阅读全文
posted @ 2019-04-01 09:58 星辰之力 阅读(2182) 评论(0) 推荐(0) 编辑
摘要:背景需求 我们需要在JNI的C代码调用Java代码。实现原理:使用JNI提供的反射借口来反射得到Java方法,进行调用。 JNI关键方法讲解。 1. 在同一个类中,调用其他方法 注意: 看红色的内容,如何获得呢? 这个是函数的签名。函数签名借住命令 javap -p -s(这两个参数一定要加入)来获 阅读全文
posted @ 2019-03-27 11:09 星辰之力 阅读(858) 评论(0) 推荐(0) 编辑
摘要:概述 可能大家觉得javah生成的函数名又臭又长,不太好看。这里可以提供另外一种方法来动态注册c++函数,让其根Java中的native方法关联起来。 实现 这里通过JNIEnv的Resisternatives方法完成方法的注册。相关方法介绍: 看了上面的函数,我们可以知道在loadLibrary的 阅读全文
posted @ 2019-03-27 11:02 星辰之力 阅读(717) 评论(0) 推荐(0) 编辑
摘要:前面记录了调用C的学习笔记,现在来记录一下C反射调用Java的笔记。JNI开发学习之调用C方法 Android开发中调用一个类中没有公开的方法,可以进行反射调用,而JNI开发中C调用java的方法也是反射调用。 C代码回调Java方法步骤:①获取字节码对象(jclass (FindClass)(JN 阅读全文
posted @ 2019-03-27 10:58 星辰之力 阅读(867) 评论(0) 推荐(0) 编辑
摘要:JNI/NDK Java调用C/C++前言 通过第三篇文章讲解在实际的开发过程中Java层调用C/C++层的处理流程。其实我们在很大的业务里也需要C/C+ +层去调用Java层,这两层之间的相互调用显得如此的重要,正式两层之间的相互调用使得程序更具有高效性、安全性可言。下面主要讲解一下C/C+ +层 阅读全文
posted @ 2019-03-27 10:43 星辰之力 阅读(4401) 评论(0) 推荐(0) 编辑
摘要:此文章是关于NDK线程的第二篇理论知识笔记。主要有两个点,如下: 1.pthread_create(Too many arguements, expected 1) ?2.线程中如何获取JNIEnv?GetEnv返回NULL?3.FindClass返回NULL ?首先我们在主页MainActivit 阅读全文
posted @ 2019-03-27 10:32 星辰之力 阅读(3835) 评论(2) 推荐(0) 编辑
摘要:除了前面说的自定义JNI函数之外,JNI还提供了两个特殊函数,它们是JNI_OnLoad()和JNI_OnUnload(),分别在加载库和卸载库的时候调用。 1、JNI_OnLoad() Java调用System.loadLibrary()加载一个库的时候,会首先在库中搜索JNI_OnLoad()函 阅读全文
posted @ 2019-03-27 10:24 星辰之力 阅读(4901) 评论(1) 推荐(1) 编辑
摘要:从C/C++层调用JAVA层代码步骤: 1. 在JAVA类中创建java方法和本地方法 2.在JNI文件夹下创建类对应的.h文件(可通过JAVAH命令生成该类的.h文件,就不赘述了),创建.cpp文件(用于编写C/C++层的代码) .h文件: .cpp文件 3.调用JAVA方法需要类的对象 在C/C 阅读全文
posted @ 2019-03-27 10:22 星辰之力 阅读(2844) 评论(0) 推荐(0) 编辑
摘要:在Android的世界中,由名称为app_process的C++本地应用程序(路径为:framework/base/cmds/app_process/app_main.cpp)调用JNI Invocation API 在自身进程中加载dalvikvm虚拟机,这样就开创了java世界. 现在就简单的D 阅读全文
posted @ 2019-03-27 10:08 星辰之力 阅读(444) 评论(0) 推荐(0) 编辑
摘要:近期通过研究SDL源码 得出android JNI c/c++调用java 无需新建虚拟机: 具体步骤如下 第一步获得:两个参数 JNIEnv和jclass 第二步 获得java那边定义的函数的名字 第三步 传递参数调用java 函数 阅读全文
posted @ 2019-03-27 09:59 星辰之力 阅读(271) 评论(0) 推荐(0) 编辑
摘要:最近在移植网络摄像机里的p2p库到android平台,需要用到jni,最近在c线程了调用java函数的时候 出现一个问题,假如在同一个线程调用java函数是没问题的,但在一个c线程了调用java函数就出现奔 溃问题,下面就直接贴c线程里调用java函数的流程代码吧: 步骤1. 我这里的应用是,jav 阅读全文
posted @ 2019-03-25 21:23 星辰之力 阅读(1303) 评论(1) 推荐(0) 编辑
摘要:GetFieldID是得到java类中的参数ID,GetMethodID得到java类中方法的ID,它们只能调用类中声明为 public的参数或方法。使用如下: 第一参数是Java 类对象。第二个参数是参数(或方法名),第三个参数是该参数(或方法)的签名。第三个参数由以下方法得到。 例如: 比如查看 阅读全文
posted @ 2019-03-24 12:45 星辰之力 阅读(4896) 评论(0) 推荐(0) 编辑
摘要:1、JNI是什么 JNI是Java Native Interface的缩写,它提供若干的API实现Java与其他语言之间的通信。而Android Framework由基于Java语言的的Java层与基于C/C++语言的C/C++层组成,每个层中的功能模块都是以有相应的语言编写,并且两层中的大部分模块 阅读全文
posted @ 2019-03-21 15:09 星辰之力 阅读(5881) 评论(0) 推荐(0) 编辑
摘要:1.禁用代码混淆功能 LOCAL_PROGUARD_ENABLED:= disabled 2.修改混淆规则,对于类的native 方法 不要进行混淆 阅读全文
posted @ 2019-03-21 13:06 星辰之力 阅读(429) 评论(0) 推荐(0) 编辑
摘要:3情况1:个例 build.gradle 中 改成 情况2:确实是依赖冲突 例子: 引入以下依赖报该错误 执行命令: 排查 support-v4 出现的依赖关系中 发现 org.eclipse.paho:org.eclipse.paho.android.service:1.0.2 依赖了 com.g 阅读全文
posted @ 2019-03-19 15:44 星辰之力 阅读(14303) 评论(1) 推荐(0) 编辑
摘要:github地址:https://github.com/ohwada/Pepper_Android 阅读全文
posted @ 2019-03-19 14:53 星辰之力 阅读(470) 评论(0) 推荐(0) 编辑
摘要:以下是本人日常工作中收集的比较不错的Android开源项目 阅读全文
posted @ 2019-03-19 14:52 星辰之力 阅读(1268) 评论(0) 推荐(0) 编辑
摘要:在一个虚拟机A上运行另外一个虚拟机B看起来是挺不靠谱的一件事,在手机上运行某个虚拟机也不怎么靠谱。并且如果虚拟机A运行在手机上这个听起来就更不靠谱了。但是很多人就在做这样的事。比如在在手机上运行DOSBox ,在手机上运行python ,GBA模拟器,如果你说这些都是C语言的,没有问题。那么在Jav 阅读全文
posted @ 2019-03-19 14:50 星辰之力 阅读(739) 评论(0) 推荐(0) 编辑
摘要:Java1.8新添了一些特性,比如对lambda表达式的支持,父类推断等等,这篇文章讲述了1.8的新特性,有兴趣的同学可以点进去看看。但是由于AndroidStudio并不能直接支持Java1.8,我们需要手动导入一些插件来支持1.8: 首先在app层的build.gradle的最外层添加插件: 然 阅读全文
posted @ 2019-03-19 14:49 星辰之力 阅读(4574) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 122 下一页