ERROR: Received close_notify during handshake

Android Studio GradleSync一直失败,提示:ERROR: Received close_notify during handshake

https://stackoverflow.com/questions/59408006/error-received-close-notify-during-handshake

说是ssl连接的问题,关闭防火墙再试一次,果然就好了。本地java版本1.8

其他关于android的问题:

目录

MAC查看androidsdk方法

第一步 先找到android sdk的存放路径

第二步 再使用android manager查看sdk版本.

ADB工具进行android日志打印

APKHelper工具

Windows安装Androidstudio

android SDK vs JDK vs android  NDK

1.Android SDK

2.JDK

3.Android NDK



MAC查看androidsdk方法

第一步 先找到android sdk的存放路径

方式一:通过unity 找到现在的androidsdk的存放路径如图所示:

方式二:通过androidstudio ,如图所示:

第二步 再使用android manager查看sdk版本.

方式一:通过命令行打开

通过第1步找到的sdk的路径,cd到那个路径下的tools目录下

然后输入 ./android sdk

会弹出android manager的界面-android manager界面介绍:https://www.cnblogs.com/kangjianwei101/p/5621238.html

方式二:通过android studio 打开 略

ADB工具进行android日志打印

ADB(Android Debug Bridge)是Android SDK中的一个工具,如果你安装了androidsdk,就可以在platform-tools这个路径下找到这个工具:

cd到这个路径下,用gitbash打开输入

1 查看当前连接设备:

./adb devices 

可以看到连接上的设备 (windows下把adb的路径存入PATH环境变量,就不用cd了,直接adb就可以了)

2 查看日志信息:

./adb logcat > 33333.log 

grep "XXX" 33333.log > 4444.log 

有关Unity的一些信息。

(如果要调试某个Unity做的游戏的信息,先输入

tail -f 33333.log

然后在手机上打开这个游戏

就能看到控制台打印了一些日志,大部分都是关于这个游戏的,然后就能猜到大概是XXX进程号了,然后再输入

grep "XXX" 33333.log > 4444.log 

最后就在4444.log下面找内容就可以了

)

APKHelper工具

确定一下这个apk的版本号是多少,因为是通过这个版本去sdk后台获取匹配的规则的,可以通过apkhelper查看apk 的信息。

Windows安装Androidstudio

下载android studio https://developer.android.com/studio

安装好了以后马上启动

提示没有安装android sdk(后面会介绍android sdk):

点击cancle,进入初次登陆配置界面,最后选择 默认推荐配置就行了,会给你下载android sdk。

新建项目以及构建以及测试

IDE下载安装好了,用一下。

选择新建一个项目,选择empty activity,填到最后会开始下载gradle,gradle sync之类的。

gradle sync成功了以后,进行build apk,

build成功以后,就可以点击 Run--》Run “app”进行测试了(如果没有配置模拟机,点击Tools--》AVD Manager(andriod virtual device)进行配置) :

自己遍历一下多点点探索一下。

android SDK vs JDK vs android  NDK

1.Android SDK

(Android Software Development Kit):

android 软件开发工具包用来开发android的。

相当于安卓机器的操作系统,类似与windows操作系统,没有android sdk开发包的支持,就无法进行android应用开发,提供给你一个开发android应用的环境。

与java的关系:为了能够使 Java 开发者快速转入 android应用的开发,所以仿照 Java API 重新进行了实现,因而大多数标准库中的资源都可以按照原来java开发的方式使用。

如何查看sdk版本号:上面使用mac查看android sdk的版本号

2.JDK

java软件开发工具包。

这个包中提供了java语言的类库,也就是你要用java语言,那么电脑上必须装jdk。

unity中关于android的设置关于jdk和sdk的存放路径:

因为unity导出打包成android应用,就需要用到android sdk,安卓应用又需要用到java语言,java语言又需要底层的java类库,这些类库就被封装在JDK中。

查看版本号:java -v

3.Android NDK

摘自 https://blog.csdn.net/huang_yx005/article/details/78780450

(Native Development Kit):NDK允许用户使用类似C / C++之类的原生代码语执行部分程序。Android程序运行在Dalvik虚拟机中。Android的SDK基于Java实现,所以基于Android SDK进行开发的第三方应用一般都使用Java语言,但这并不等同于“第三方应用只能使用Java”,也就是说我们还可以采用C/C++语言。

NDK是一系列工具的集合。它提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so(通过NDK编译C/C++生成的)和java应用一起打包成apk(AndroidPackage的缩写,Android安装包)。这些工具对开发者的帮助是巨大的。

NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。它可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。

NDK提供了一份稳定、功能有限的API头文件声明,Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)。

  • ps1:为什么使用NDK:

(1)  代码的保护。由于apk的java层代码很容易被反编译,而C/C++库反汇难度较大。

(2)  可以方便地使用现存的开源库。大部分现存的开源库都是用C/C++代码编写的。

(3)  提高程序的执行效率。将要求高性能的应用逻辑使用C开发,从而提高应用程序的执行效率。

(4)便于移植。用C/C++写得库可以方便在其他的嵌入式平台上再次使用。

  • ps2:JNI

Java Native Interface的缩写,中文为JAVA本地调用。从Java1.1开始,Java Native Interface(JNI)标准成为java平台的一部分。JNI是java语言提供的Java和C/C++相互沟通的机制,Java可以通过JNI调用本地的C/C++代码,本地的C/C++的代码也可以调用java代码。JNI 是本地编程接口,Java和C/C++互相通过的接口。Java通过C/C++使用本地的代码的一个关键性原因在于C/C++代码的高效性

  • ps3:

androidsdk编译生成 java文件,java应用

ndk编译C/C++源码生成.so文件

ndk还可以讲so文件和java文件一起打包成apk。

发布了104 篇原创文章 · 获赞 44 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/u012138730/article/details/90734179