Skip to content

【Others】开发过程中的一些问题 #9

@famousczm

Description

@famousczm

1. Git 的凭证存储

换了硬盘装完系统配置开发环境时,使用 Sourcetree 来拉取 Gitlab 上的项目,由于我克隆的时候使用的是 HTTP 协议,所以每次 pull/push 都要输入账号密码超级烦,这里学习了 Git 针对 HTTP 协议 pull/push 推出的凭证存储系统,只要把账号密码这种凭证存储起来就不用频繁输入验证了。凭证存储分为两种模式:cache模式 和 store模式,存储在缓存(内存)中或是存储在本地硬盘上。

cache 模式无疑是最安全的,它会将凭证存放在内存中一段时间。 密码永远不会被存储在磁盘中,并且在15分钟后从内存中清除,所以还是会定时输入凭证,使用方法:

git config --global credential.helper cache

store 模式则是最方便的,一次配置,永久有效(除了更换密码的情况),一劳永逸地解决了我们的问题,但是安全性较低,因为它是以明文的形式保存密码的,就放在 home 目录里,使用方法:

git config --global credential.helper store

如果是 Mac 系统的话,上面 store 的问题就不是问题了,osxkeychain 模式它会将凭证缓存到你系统用户的钥匙串中。 这种方式将凭证存放在磁盘中,并且永不过期,而且是被加密的,这种加密方式与存放 HTTPS 凭证以及 Safari 的自动填写是相同的。

2. Android Didn't find class "XXX.MainActivity" 错误

OPPO 手机编译完安装程序之后每次打开都闪退,看 Logcat 上的错误信息是提示:

java.lang.ClassNotFoundException: Didn't find class "XXX.MainActivity" on path:  .....

具体原因不明,但是修改 Preferences -> Build, Execution, Deployment -> Instant Run 中的选项关掉就好,不能使用 Instant Run 的便捷功能很是遗憾

3. Android 打包出错 Error:Execution failed for task ´:app:lintVitalRelease´

项目突然打包就出错了,网上找到的解决方法是添加如下配置:

...
  android {
      lintOptions {
          checkReleaseBuilds false
          abortOnError false
      }
  }
  ...

的确解决了我的问题,参考链接

4. React Navigation 跳转问题

在某个项目中遇到了跳转的奇葩问题,A 页面跳转到 B页面再返回来马上点击跳转 B页面,很大几率会触发 B 页面的 componentDidMount 执行了两次,

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions