🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] # Bugly 线上行数信息缺失 检查混淆文件中下面这行是否存在,否则行数信息在编译或打包时就已经丢失 ```plain -keepattributes SourceFile,LineNumberTable ``` # Gradle 全局代理配置,提高三方库下载速度 在已经开启 Shadowsocks 代理的前提下, 修改 $HOME/.gradle/gradle.properties 文件,增加如下配置: ```plain org.gradle.jvmargs=-DsocksProxyHost=127.0.0.1 -DsocksProxyPort=1080 ``` 参考[知乎回答](https://www.zhihu.com/question/37810416) 若无 Shadowsocks 代理,可更改中央仓库地址为阿里云的,在项目根目录 build.gradle 修改如下: ```groovy buildscript { repositories { maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} } } allprojects { repositories { maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'} } } ``` # 解决国内访问 s3.amazonaws.com 服务器慢的问题 日常开发中经常性的需要用到亚马逊服务器(cloud.s3.amazonaws.com)上的资源,但是国内访问亚马逊服务器,基本上没办法下载成功的。 经 Google,发现可以通过设置 host,强制把访问节点从美国定向到香港的办法来解决这个问题。 Windows下,编辑 C:\Windows\System32\drivers\etc\hosts macOS 下,编辑 /etc/hosts 增加如下解析: ```plain 219.76.4.4 github-cloud.s3.amazonaws.com ``` 参考:[https://www.mobibrw.com/2017/6047/comment-page-1](https://www.mobibrw.com/2017/6047/comment-page-1) # Git 代理配置 为 Git 配置 Socks5 代理: ```plain git config --global http.proxy 'socks5://127.0.0.1:1080' git config --global https.proxy 'socks5://127.0.0.1:1080' ``` # Android Studio 签名后依旧 INSTALL_PARSE_FAILED_NO_CERTIFICATES 的问题 在 Android 7.0 中引入了一项新的应用签名方案 APK Signature Scheme v2,它能提供更快的应用安装时间和更多针对未授权 APK 文件更改的保护,但在7.0以下版本系统下,有一定概率出现问题(比如我。。) 问题就是出现在这里,因为我一开始只勾选了 V2,没勾选 V1,所以在7.0以上设备正常,7.0以下设备报错: ![](https://ws1.sinaimg.cn/mw690/c14636degy1flmgxm6pgej20hu09bwfo.jpg) 解决方案: 将 V1、V2全部勾选,这种部署方式可以兼容各个版本系统;或者仅勾选 V1,也就是仍使用旧版签名方案来部署应用。 具体可参考 Google 文档:[https://developer.android.com/about/versions/nougat/android-7.0.html#apk_signature_v2](https://developer.android.com/about/versions/nougat/android-7.0.html#apk_signature_v2) # Android Studio 关闭 AAPT 检查 在 app 模块的 build.gradle 文件进行配置: ```groovy defaultConfig { ... aaptOptions{ cruncherEnabled = false } } ``` # Ubuntu 中 vi 不能正常使用方向键与退格键的问题 原因: Ubuntu 预装的是 vim tiny 版本,而我们需要的是 vim full 版本 解决: ```plain sudo apt-get remove vim-common sudo apt-get install vim ``` # 修改 aar 包内 class 文件并重新打包 * 将 .aar 文件重命名为 .zip 文件并解压 * 将解压得到的 classes.jar 文件重命名为 .zip 文件并解压 * 替换目标 class 文件 * 压缩 class 文件夹至 classes.jar 文件并重命名为 clasess.jar * 将刚解压 .aar 文件得到的目录下的 classes.jar 进行替换,并重新压缩重命名为 .aar 文件 # Charles https抓包 参考文档:[https://www.jianshu.com/p/5788b1e8da02](https://www.jianshu.com/p/5788b1e8da02) 1、设置Charles代理 ![](https://img.kancloud.cn/70/9d/709d43cc20282dc82aa67ff4af93c52d_783x347.png) 2、手机端设置代理 3、手机端安装证书  打开chrome或者火狐访问 chls.pro/ssl 安装证书,尽量别用系统浏览器,如果下载的证书是后缀名是.pem,请改成.crt 4、测试抓包 5、添加代码(非必需) 如果出现 java.security.cert.CertPathValidatorException: Trust anchor for certification path not found 异常,则需要添加以下代码到项目中: ```xml <?xml version="1.0" encoding="utf-8"?> <network-security-config> <debug-overrides> <trust-anchors> <!-- Trust user added CAs while debuggable only --> <certificates src="user" /> </trust-anchors> </debug-overrides> </network-security-config> ``` ```xml <application <!--其他配置--> android:networkSecurityConfig="@xml/network_security_config" tools:targetApi="n"> ``` # WebView debug 1、在应用代码中为WebView打开debug开关: ```java if (!BuildConfig.RELEASE_PUBLISH && Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); } else { WebView.setWebContentsDebuggingEnabled(false); } ``` 2、手机打开USB调试,连接电脑 3、在Chrome地址栏输入:chrome://inspect,界面如下: ![](https://img.kancloud.cn/bf/08/bf08c0812dfebb029e67bb01eea2f45d_588x342.png) 4、点击inspect按钮,即可打开调试页面: ![](https://img.kancloud.cn/94/1b/941b1a790a09e451489f7771ffbd81cf_752x752.png) 注意: 第一次使用可能会出现白屏,使用梯子,或者配置host: ```plain # inspect 172.217.14.116 chrome-devtools-frontend.appspot.com 172.217.14.116 chrometophone.appspot.com ```