第一个坑
最近应用宝ysdk更新到1.5.9了,没有了eclipse的接入方式,只能自己解压arr接了。但是导入ysdk的jar包后打包时会报错,报错如下:
1 | UNEXPECTED TOP-LEVEL EXCEPTION: |
搜了一下,是说dx.jar或者jdk版本和编译jar包的版本对不上,然后需要去查看ysdk.jar包里的编译版本,位置是jar包里的META-INF->MANIFEST.MF
内容如下:
1 | Manifest-Version: 1.0 |
1.8.0_91是jdk版本。再在ysdk demo里的build.grandle里看到buildToolsVersion = “29.0.2”
我寻思我电脑上jdk只有1.8的啊,那只能是dx.jar的问题了,然后去下载了29.0.2版本的build-tools,需要放到sdk/build-tools/内,
然后在eclipse项目中的project.properties里添加
1 | sdk.buildtools=29.0.2 |
第二个坑
处理好之前的问题后,在eclipse打包的时候又报如下错
1 | [2020-03-25 11:00:44 - Dex Loader] Failed to load D:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-10\lib\dx.jar |
后来发现其实这个错只会在eclipse上打包会报,用ant直接打包是没问题的。
但是毕竟还是要在eclipse上调试,找了很久最后终于在stackflow上找到了解决方案,把以前用的build-tools版本内的dx.jar下的com.android.dx.command.DxConsole.class 复制到新版本的dx.jar包下即可(可以用winrar同时打开新旧版本的dx.jar,然后把DxConsole用鼠标拖过去)。
新版本的 YSDk 还使用到了 androix 的一些 supprt 依赖: androidx.core.content.FileProvider 和 androidx.localbroadcastmanager.content.LocalBroadcastManager。需要引入androidx的jar包,可以去github这位大哥那边下载,大哥github链接:https://github.com/dandar3,需要引入androidx.core.jar和 androidx.localbroadcastmanager.jar
这位大哥还有很多google sdk需要用到的库,需要接入google sdk的可以去他那找,希望能帮到其他人