随笔分类 -  Android

摘要:转自:https://www.2cto.com/kf/201611/569468.html 之前开发单片机软件还是上位机都习惯使用printf(),相信很多很会有和我一样的习惯。开始学习安卓了,当然也很在意安卓的这个打印调试应该怎么做呢?这里使用的是日志记录中添加过滤器的方式 点击NO Filter 阅读全文
posted @ 2017-10-26 19:01 Boblim 阅读(4727) 评论(0) 推荐(0) 编辑
摘要:1.cmake是什么? CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。 谷歌从AndroidStudio2.2以上就添加了Cma 阅读全文
posted @ 2017-09-25 19:21 Boblim 阅读(22217) 评论(3) 推荐(1) 编辑
摘要:转自:http://blog.csdn.net/aplixy/article/details/51592035 先说前提条件,我的AndroidStudio版本是2.2 Preview 3,版本是2.1的同学应该也是一样的。 然后说结论吧,有些同学可能赶着做项目: 结论: so包应该放在相应模块(比 阅读全文
posted @ 2017-09-25 16:43 Boblim 阅读(1207) 评论(1) 推荐(1) 编辑
摘要:转自:http://blog.csdn.net/ssy_neo/article/details/51758687 项目中用到了硬件调试,google一下拿到了硬件调试的源码,可惜握草so库根本加载不进去好吗,一直报错,一怒之下自己拿他C源码重新编译一个。 旁边小兄弟见我装逼如神,强烈要求想学习一下, 阅读全文
posted @ 2017-09-25 11:06 Boblim 阅读(1123) 评论(1) 推荐(1) 编辑
摘要:转自:http://blog.csdn.net/wenrenwang/article/details/12003671 1.__int64找不到符号 采用int64_t来代替: 1 #if defined(__ANDROID__) 2 typedef int64_t __int64; 3 #endi 阅读全文
posted @ 2017-09-23 17:38 Boblim 阅读(4961) 评论(1) 推荐(1) 编辑
摘要:在Android中可以通过android.os.Build这个类和System.getProperty(“xxx”);来获取设备信息,下面列举的常见设备信息摘自Android群英传 Build.BOARD // 主板 Build.BRAND // 系统定制商 Build.SUPPORTED_ABIS 阅读全文
posted @ 2017-09-23 17:29 Boblim 阅读(5922) 评论(1) 推荐(1) 编辑
摘要:有很多场景和需求你需要用到手机设备的唯一标识符。 在Android中,有以下几种方法获取这样的ID。 1. The IMEI: 仅仅只对Android手机有效: 1 2 TelephonyManager TelephonyMgr = (TelephonyManager)getSystemServic 阅读全文
posted @ 2017-09-23 11:27 Boblim 阅读(51237) 评论(1) 推荐(1) 编辑
摘要:遇到的问题,Native层本地多线程回调Java函数时env->findClass()失败。 前面的代码是这样的在 JNI_OnLoad记录全局变量g_vm static JavaVM* g_vm = NULL; 在子线程回调函数中去g_vm->AttachCurrentThread获取env,通过 阅读全文
posted @ 2017-09-20 09:53 Boblim 阅读(6551) 评论(1) 推荐(1) 编辑
摘要:我们尝试使用 getaddrinfo 对 Android API 14 及以上 (在 c + + 代码使用 NDK r12) 从 IPV4 获得合成的 IPV6 地址 address 。这是在 IPV6 与 NAT64 的唯一网络上使用。但是如果设置了 aiflags getaddrinfo 将返回 阅读全文
posted @ 2017-09-18 13:58 Boblim 阅读(1687) 评论(1) 推荐(1) 编辑
摘要:Data Structure http://www.cnblogs.com/LubinLew/p/POSIX-DataStructure.html#struct_addrinfo Description IPv4中使用gethostbyname()函数完成主机名到地址解析,这个函数仅仅支持IPv4, 阅读全文
posted @ 2017-09-18 13:57 Boblim 阅读(18442) 评论(1) 推荐(2) 编辑
摘要:很多时候我们通过adb 连接 android 模拟器调试网络程序,也许你能直接访问浏览器,浏览网站,但是却无法ping同局网的一个机器,比如: # ping www.sina.com PING puppis.sina.com.cn (221.236.31.210) 56(84) bytes of d 阅读全文
posted @ 2017-09-16 17:01 Boblim 阅读(2510) 评论(1) 推荐(2) 编辑
摘要:获取网络信息需要在AndroidManifest.xml文件中加入相应的权限。 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 2)判断WIFI网络是否可用 3)判断MOBI 阅读全文
posted @ 2017-09-16 17:00 Boblim 阅读(49337) 评论(1) 推荐(1) 编辑
摘要:PC机可以上网,PC机上面的android模拟器不能上网。其实只要使模拟器跟自己的PC在同一个网段内就行了: 首先,如果没有配置sdk的环境变量的,那么在CMD命令下进入sdk安装路径的platform-tools目录下(D:\Program Files\Android\android-sdk-wi 阅读全文
posted @ 2017-09-16 16:39 Boblim 阅读(4604) 评论(0) 推荐(1) 编辑
摘要:今天下载了一个Android studio2.3。0版本,想调试一下自己的一个项目,但是发现项目编译运行正常,但是一调试就报错: 09/14 16:19:13: Launching app$ adb shell am startservice com.xxxxxx.xxxxx/com.android 阅读全文
posted @ 2017-09-14 17:10 Boblim 阅读(2454) 评论(0) 推荐(1) 编辑
摘要:Jni的Jclass JmethodID JfrieldID 这三者都是java类别的属性,本质上都是指标(Pointer).透过这些指标就能快速调用java类别的函数,或存取对象的属性值。在该类别被载入时,这些指标值都是有效的,一直到该类别被卸载为止。其中jmethodID和jfieldID指标可 阅读全文
posted @ 2017-08-22 17:25 Boblim 阅读(1453) 评论(0) 推荐(1) 编辑
摘要:转自:http://blog.csdn.net/xyang81/article/details/44657385 这篇文章比较偏理论,详细介绍了在编写本地代码时三种引用的使用场景和注意事项。可能看起来有点枯燥,但引用是在JNI中最容易出错的一个点,如果使用不当,容易使程序造成内存溢出,程序崩溃等现象 阅读全文
posted @ 2017-08-16 10:53 Boblim 阅读(3324) 评论(0) 推荐(2) 编辑
摘要:一、概述 JNI编程和Linux上的C/C++编程还是挺相似的,每次java调用JNI中的函数时都会传入有关JVM的一些参数(如JNIEnv,jobject),每次JNI回调java中的方法时都要通过JVM的有关参数来实现,当在JNI中涉及到多线程的话还是有一些不一样的地方,就是要在子线程函数里使用 阅读全文
posted @ 2017-08-15 16:56 Boblim 阅读(2258) 评论(0) 推荐(1) 编辑
摘要:JNI的实现可涉及两个关键类:JNIEnv和JavaVM。 JavaVM:这个代表java的虚拟机。所有的工作都是从获取虚拟机的接口开始的。 JavaVM:这个代表java的虚拟机。所有的工作都是从获取虚拟机的接口开始的。 第一种方式,在加载动态链接库的时候,JVM会调用JNI_OnLoad(Jav 阅读全文
posted @ 2017-08-15 16:54 Boblim 阅读(5099) 评论(0) 推荐(1) 编辑
摘要:JNI,Java Native Interface,是 native code 的编程接口。JNI 使 Java 代码程序可以与 native code 交互——在 Java 程序中调用 native code;在 native code 中嵌入 Java 虚拟机调用 Java 的代码。JNI 编程 阅读全文
posted @ 2017-08-15 16:48 Boblim 阅读(4128) 评论(1) 推荐(2) 编辑
摘要:DefineClass jclass DefineClass(JNIEnv *env, jobject loader, const jbyte *buf, jsize bufLen); 从原始类数据的缓冲区中加载类。 参数: env:JNI 接口指针。 loader:分派给所定义的类的类加载器。 b 阅读全文
posted @ 2017-08-10 19:58 Boblim 阅读(2940) 评论(1) 推荐(1) 编辑