l***@gmail.com
l***@gmail.com
  • 发布:2020-03-27 20:22
  • 更新:2020-03-27 21:14
  • 阅读:575

Android-SDK@2.6.5.80037_20200314更新后无法启动

分类:uni-app

Android-SDK@2.6.5.80037_20200314更新后无法启动,经过不断调试发现与百川插件的安全图片有关,但是在Android-SDK@2.6.1-1.74103_20200226是正常的,请问新版sdk改动什么与插件相关的逻辑吗

2020-03-27 20:22 负责人:无 分享
已邀请:
DCloud_Android_zl

DCloud_Android_zl

麻烦描述的更详细一点,什么安全图片,无法启动会报什么错,多试几个手机能不能启动,或者更新一下sdk会不会还有类似的问题。

l***@gmail.com

l***@gmail.com (作者)

阿里百川sdk里面有个包含签名和包名信息安全图片,应用启动时sdk会检测,之前几个月的每次uniapp sdk升级都没有问题,包括上个月26号的版本。但是升级20200314后,应用就无法启动,点击桌面图标没有反应,查看log看不到异常。把安全图片删除可以启动,但是百川的sdk插件就不能使用了,所以怀疑此次sdk包含了离线插件的某个升级导致了该问题,麻烦核实一下,谢谢

什么是安全图片

百川平台将从上传的包内提取签名,包名等信息,并加密存储到下载 SDK 中的安全图片。SDK 启动时会校验当前 apk 和图片中的签名信息,以避免发布的安装包被恶意篡改。另外,请注意如下事项:

1)因为只提取安装包的签名以及包名信息,所以上传时对安装包的内容没有任何要求。

2)请确保后续开发中用于 apk 签名的 keystore 和上传 apk 所使用的保持一致。

3)如开发过程中或最终发布应用时需要切换其他 keystore,请上传使用新 keystore 签名的 apk 重新生成 SDK,并拷贝下载 SDK 中新的安全图片 ( res/drawable/yw_1222.jpg) 并替换掉当前开发工程中相同位置的同名文件。

使用须知

安全图片是使用应用的appkey和其他相关信息(android还需要提供keystore签名的apk文件)一起加密生成的1像素点的加密图片。

使用时请将图片改名为yw_1222.jpg,只需根据iOS和android放在对应的目录下,iOS:只要把安全图片放到工程目录底下即可; Android:需要把安全图片放到/res/drawable下。

调用时,android客户端SDK会校验安全图片中加密的keystore和当前程序中的keystore是否一致,如果不一致初始化会失败。iOS客户端SDK会校验校验安全图片中加密的appkey信息和当前程序中的URL Types里面填写的appkey应用是否一致,若不一致也会报错。

l***@gmail.com

l***@gmail.com (作者)

最后定位到卡在这段代码里面,导致app无法启动,这个初始化会去读取安全图片

public class Baichuan_AppProxy implements AppHookProxy {  
    private final static String TAG = "Baichuan_AppProxy";  
    @Override  
    public void onCreate(Application application) {  
        Log.d("console","Baichuan_AppProxy oncreate");  
        //电商SDK初始化  
        AlibcTradeSDK.asyncInit(application, new AlibcTradeInitCallback() {  
            @Override  
            public void onSuccess() {  
                Log.d(TAG, "AlibcTradeSDK init success");  
            }  
  
            @Override  
            public void onFailure(int code, String msg) {  
                Log.d(TAG, "AlibcTradeSDK init failure, code="+code+",msg="+msg);  
            }  
        });  
    }  
}
  • DCloud_Android_zl

    项目发我,我本地试一下。


    2020-03-30 14:35

  • l***@gmail.com (作者)

    回复 DCloud_Android_zl: 本来想用sdk中的UniPlugin-Hello-AS制作个demo发给您,但是发现2.6.5的插件演示demo未做任何更改的情况下也是无法启动的,然后重新使用未做任何更改的2.6.1中的UniPlugin-Hello-AS是可以运行的。

    以上在至少三个品牌手机上验证,请先检查一下2.6.5中的UniPlugin-Hello-AS是否存在什么问题导致无法启动


    2020-03-31 12:51

  • DCloud_Android_zl

    回复 l***@gmail.com: 测试了一下,都能打开,升级到最新的sdk再试一下。


    2020-03-31 14:45

  • l***@gmail.com (作者)

    回复 DCloud_Android_zl: 我刚才升级到最新版本Android-SDK@2.6.8.80084_20200331可以打开了,但是2.6.5肯定是打不开的


    2020-03-31 15:18

  • DCloud_Android_zl

    回复 l***@gmail.com: 我们这边排查一下,百川的问题还存在吗?


    2020-03-31 15:24

  • l***@gmail.com (作者)

    回复 DCloud_Android_zl: 升级Android-SDK@2.6.8.80084_20200331后就可以了,谢谢


    2020-03-31 17:47

该问题目前已经被锁定, 无法添加新回复