java&android
文章平均质量分 61
根据项目实践过程中遇到的问题,归纳总结
一只努力前行的蜗牛
这个作者很懒,什么都没留下…
展开
-
java日常使用经验总结
查看java安装版本C:\Users\snail>java -versionjava version "1.8.0_271"Java(TM) SE Runtime Environment (build 1.8.0_271-b09)Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)查看环境变量JAVA_HOMEC:\Users\snail>set JAVA_HOMEJAVA_HOME=D:\Pro..原创 2021-11-24 15:03:19 · 350 阅读 · 0 评论 -
JNI 实战全面解析
简介项目决定移植一款C++开源项目到Android平台,开始对JNI深入研究。JNI是什么?JNI(Java Native Interface)意为JAVA本地调用,它允许Java代码和其他语言写的代码进行交互,简单的说,一种在Java虚拟机控制下执行代码的标准机制。NDK是什么?Android NDK(Native Development Kit )是一套工具集合,允许你用像C/C++语言那样实现应用程序的一部分。为什么要用NDK?1、安全性,java是半解释型语言,很容易被反汇编后拿到源代转载 2021-04-20 13:48:25 · 464 阅读 · 1 评论 -
【交叉编译】android模拟器验证交叉编译结果
准备环境1、android模拟器:夜神模拟器2、交叉编译后的程序和库:hello.so hellotest切换到工作目录1、cd /d D:\Work\AndroidProjectandroid adb操作流程登录android系统1、adb devices2、adb connect 127.0.0.1:620013、adb shell4、mkdir /data/tmp5、exit6、adb push hello.so /data/tmp/7、adb push hellotest原创 2021-04-16 13:50:02 · 160 阅读 · 0 评论 -
adb 乱码显示解决方法
乱码原因:Android中使用的是UTF-8字符,而CMD默认字符集是ANSI,中文环境下即为GBK,整体解决方法概括:查看当前编码更该编码,更改字体.1.乱码情况如下:2.退出adb环境,输入chcp查看活动代码页,也就是查看当前的字符集:输出为936对比代码页表,可知936对应的字符编码集为简体中文(GB2312).-------------------------------------代码页表-------------------------------------转载 2021-04-16 10:45:32 · 5212 阅读 · 0 评论 -
android studio如何调用linux下交叉编译的so库
背景:android studio上需要使用别的同事用linux下(c++写)编译好的的so库,注意不是用c++源码放在android studio上编译;实现原理:android studio实现JNI规范的接口,再用这套接口去调用linux下编好的so库,这个需要linux调用NDK中的交叉编译工具链进行交叉编译生成so库;步骤:1.NDK安装在linux环境上(ubuntu 14.04 64位系统)通常下载r17(包括该版本)以下的版本,因为r18以上的版本gcc/g++已被改动成clang(转载 2021-04-15 15:11:30 · 2015 阅读 · 1 评论 -
Android Studio简单断点调试
首先点击断点调试按钮运行App启动之后,会弹出如下图的提示框,不要管,几秒之后这个弹框会自动消失,然后App会成功运行。下面介绍一下断点调试的相关操作按钮对应的功能:按钮1的功能:从当前断点跳到下一个断点,如果当前断点为最后一个断点则点击后断点结束,App正常运行。按钮2(step over)的功能:一步步往下走,及按代码逻辑一行一行代码往下走。按钮3(step into)的功能:遇到方法就往方法里走。按钮4(force step into )的功能:所有方法看完整,即可以看到你所调用的所转载 2021-04-15 14:57:12 · 2477 阅读 · 1 评论 -
解决AndroidStudio 控制台编译输出中文乱码
背景在AndroidStudio中新建了一个Java Module,但是点击 Run ‘app’之后,Build Output 控制台输出的中文都是乱码,都是问号一样的字符google了很多方法,要么就是文不对题,要么就是各种抄,没有真正测试过!错误方案一File Encodings 改为UTF-8?没用!错误方案二build.gradle 添加如下代码? tasks.withType(JavaCompile) { options.encoding = "UTF-8"}没用转载 2021-04-15 14:38:17 · 222 阅读 · 0 评论 -
JNI Java与C的相互调用与基本操作
Java和Jni的类型对照表java 类型Native 类型符号属性字长booleanjboolean无符号8 位bytejbyte有符号8 位charjchar无符号16 位shortjshort有符号16 位intjint有符号32 位longjlong有符号64 位floatjfloat有符号32 位doublejdouble有符号64 位引用类型对照表java 类型N转载 2021-04-15 13:52:46 · 3261 阅读 · 0 评论