Android Webview加载Uniapp混编调试奇技淫巧

318 阅读1分钟

不是什么新东西,大佬直接 Ctrl+W 就行~

近期搞了几个类似马甲包的东西,只需要加载url即可,另外接入了一些三方sdk(广告、定位)供web端调用 ,过程中遇到一些Android-web的通信,需要web端反复调试,uniapp频繁打包也很费劲,我就想到了之前开源组件dokit的一个功能,在app输入框里允许开发者动态更改要加载的url,方便测试,就加了个保存url的功能 。

btn_url.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        String url = et_url.getText().toString().trim();
        MmkvUtil.save(MmkvUtil.TestUrl, url);
        ToastUtils.show("一直按返回键到桌面或者最近任务中删除掉后生效");
    }
});
String url = MmkvUtil.getString(MmkvUtil.TestUrl, "");
if (!url.equals("")) {
    BrowserActivity.start(getContext(), url);
} else {
    BrowserActivity.start(getContext(), AppConfig.getWebUrl());
}
finish();

在一个功能比较单一的原生界面(由web跳转到原生的) 增加一个长按跳转调试界面的点击事件,如果需要防止用户随意进入,可加一个密码 。

image.png

将url填入 ,我们一般用的是局域网url ,务必要让手机与开发者电脑处于同一局域网 ,从hbuilder等开发工具中获取实时url :

image.png image.png

保存后,一直按返回键到桌面或者最近任务中删除掉后生效 ,几乎不会出现保存失败的情况 ; 调试完毕后根据需要 来决定是否清空测试地址,清空后 应用会加载预置的 测试线或生产线公网url 。