Java微信语音amr格式转mp3格式,兼容Linux/Mac/Windows,支持Maven

其实之间用dadiyang的jave库就可以了,建议切换maven到ali的国内镜像库。但是由于mac升级,需要用最新版本的ffmpeg来运行,其它没有什么特别要注意的地方啦。

建议参考我这边fork的库,其实就是更新了ffmpeg-mac这个文件咯。

参考:

https://blog.csdn.net/dadiyang/article/details/85003240

https://github.com/deaboway/jave

https://baijiahao.baidu.com/s?id=1596812208203490238&wfr=spider&for=pc

http://ffmpeg.org/

从Android Studio迁移到IntelliJ,从Gradle2升级到Gradle5.4.1,JNI NDK的配置更新

IntelliJ IDEA,是java编程语言开发的集成环境,在业界被公认为最好的java开发工具之一。参考其官网:https://www.jetbrains.com/idea/。

其实不只是Java,同家公司的Android Studio、PHPStorm、WebStorm、PyCharm、RubyMine的功能,它都有,不就是插件嘛!所以,最近把Android Studio、PHPStorm、WebStorm、PyStorm全部干掉了,所有项目都用IntelliJ来开发。

因为IntelliJ的各种插件都比较新,所以,顺带把Android的各种编译工具和环境更新到相对新的版本,也就有了如下采坑总结,记录一下。

1.gradle.properties

2.根目录下的:build.gradle

3.library目录下的:build.gradle

4.子项目的build.gradle

5.对应的android.mk

6.对应的Application.mk

参考:

https://developer.android.com/ndk/guides/android_mk

https://www.cnblogs.com/webor2006/p/9999063.html

http://wuxiaolong.me/2017/12/27/AndroidNDK/

gradle 插件版本、gradle版本 和buildToolsVersion之间的对应关系

一、主要概念

1、Gradle是什么?

Gradle其实就是一个构建项目的工具,即把一堆堆的目录、文件按照一定的规则关联起来,形成一个项目的自动化构建工具。

Gradle版本,如gradle-4.10.1-all.zip

位置:项目主目录 gradle 文件夹->wrapper->gradle-wrapper.properties

2、Gradle插件又是什么?

Gradle插件是针对Gradle发行版和Android SDK Build Tools封装的一个工具,主要有两大功能:

  1. 调用Gradle本身的代码和批处理工具来构建项目
  2. 调用Android SDK的编译、打包功能

Gradle插件版本

项目主目录下的 build.gradle 中,如“com.android.tools.build:gradle:3.3.0”

Gradle插件会有版本号(3.3.0),每个版本号又对应有一个或一些 Gradle发行版本(一般是限定一个最低版本,如gradle-4.1-all.zip)

3、 Android SDK Build Tools Version:Android SDK 构建工具版本

buildToolsVersion 位置:app 目录->buid.gradle 文件

二、依赖关系

明确概念:

  • Gradle Plugin Version: Gradle 插件版本
  • Gradle Version: Gradle发行版本
  • Android SDK Build Tools Version:Android SDK 构建工具版本

三者依赖关系

  1. Gradle Plugin 有不同的版本号。 即我们常见的:classpath ‘com.android.tools.build:gradle:3.0.1’】,
    每个插件版本号又对应一个或一些 Gradle 发行版本【即我们常见的:gradle-4.1-all.zip】

如果这两个版本对应不上了,那么构建项目的时候就会报错。

  1. Gradle Plugin 还和 Android SDK BuildTool 有关联,因为它还负责和编译相关的功能,这也是为何我们要在 build.gradle 里注明 buildToolsVersion 的原因。

三者对应关系如下表:

plugin versionRequired Gradle versionRequired Gradle version
1.0.0 – 1.1.32.2.1 – 2.3
1.2.0 – 1.3.12.2.1 – 2.9
1.5.02.2.1 – 2.13
2.0.0 – 2.1.22.10 – 2.1321.1.1+
2.1.3 – 2.2.32.14.1+23.0.2+
2.3.0+3.3+25.0.0+
2.3.0+3.3+
3.0.0+4.1+26.0.2+ 不再需要为构建工具指定版本 – 插件默认使用最低要求的版本。可以删除该android.buildToolsVersion属性
3.1.0+4.4+27.0.3+ 不再需要为构建工具指定版本 – 插件默认使用最低要求的版本。可以删除该android.buildToolsVersion属性
3.2.0 – 3.2.14.6+
3.3.0 – 3.3.24.10.1+
3.4.0+5.1.1+

参考链接:

https://blog.csdn.net/gongxiaoou/article/details/81082387

http://www.blogdaren.com/post-2418.html

https://developer.android.google.cn/studio/releases/gradle-plugin

Mac Xampp ‘s Apache Web and MySQL can NOT start

由于是覆盖安装,Apache通过删除lib文件夹中的old文件解决。

由于是覆盖安装,MySQL通过删除/Applications/XAMPP/xamppfiles/var/mysql/ 下的ib_logfile1和ib_logfile0解决

参考:https://stackoverflow.com/questions/33109315/unknown-unsupported-storage-engine-innodb

Echarts不显示tooltip

显示Echarts图,但是tooltip不显示,因为canvas容器的问题。

从代码:

改为:

解决 Mac 从睡眠恢复后没有声音的问题

办法1:终端输入sudo killall coreaudiod命令并输入密码即可!

方法2:

打开活动监视器(在应用程序→实用工具里可以找到)
在右上角的搜索框里输入audio,此时可以搜索到coreaudiod进程
选中coreaudiod进程,点击退出进程按钮,在弹出的对话框中点击退出

方法3:

重置 Mac 上的 NVRAM 或 PRAM
关机,拔掉电源线等待15s
按住键盘Command+Option+P+R 键的同时,记住是同时按开机键。等听到两次启动声之后松开这些按键。

删除Mac上的应用程序

  1. launchpad上,长按图标,或者按住键盘上三键:control+option+command,如果是通过App Store安装的应用,就可以点❌删除了
  2. 直接进入/Applications/目录去删除应用,这个可以删除内置应用,谨慎操作
  3. 如果是Chrome等的App,需要进入类似如下目录进行删除咯:/Users/gavin/Applications/Chrome Apps.localized
  4. 另外,Launchpad的图标内容存储在类似如下目录结构的数据库中:/private/var/folders/sj/xtcg7hhs40j51rl4xfty_4gr0000gn/0/com.apple.dock.launchpad/db/db,可以通过类似这个命令进行删除图标:sqlite3 db “delete from apps where title=’应用名称’;”&&killall Dock

参考资料:

  1. https://apple.stackexchange.com/questions/174084/how-to-remove-chrome-app-icons-from-launchpad
  2. https://blog.csdn.net/qq_36004521/article/details/80740491
  3. https://jingyan.baidu.com/article/fa4125ac0d5a2c28ac7092e6.html

Mac /var/folders/sj/目录权限问题

Mac上/var/folders/sj/目录权限问题。
由于Mac的System Integrity Protection(SIP),需要重启进入recover 模式(重启之后按住command+r),在工具中找到terminal执行csrutil disable命令,回车,然后重启,SIP保护就被关闭了。
如果要重新打开SIP保护,操作是一样的,命令中的disable换成enable就可以了。
之后就可以:
sudo rm -rf /var/folders/sj/xtcg7hhs40j51rl4xfty_4gr0000gn
chmod -R 777 /var/folders/sj/xtcg7hhs40j51rl4xfty_4gr0000gn/T


参考:
https://apple.stackexchange.com/questions/266821/how-can-i-fix-permissions-for-files-in-the-var-folders-zz
https://blog.csdn.net/tmpbook/article/details/50292475
https://blog.csdn.net/i_lovenet/article/details/80462829


Error Array to string conversion for Yii::$app->user->id

解决方法如下:

  1. ALTER TABLE user ADD PRIMARY KEY(id);
  2. i remove manually from the browser the cookie and it work.

参考:

https://stackoverflow.com/questions/44499961/error-array-to-string-conversion-for-yiiapp-user-id

https://github.com/yiisoft/yii2/issues/1029

https://stackoverflow.com/questions/27681505/login-on-production-server-doesnt-work

解决mac下的Sourcetree每次拉取提交都需要输入密码

Mac使用SourceTree项目的GIT密码始终保存不到Mac的钥匙串中,明明在钥匙串中是存在的.但是在使用sourceTree pull/push代码的时候还是需要再输入密码,很是繁琐.

于是,网上搜索了一下,说的在https模式下,Mac需要使用osxkeychain凭据助手,并在Git中设置使用. 并且如果已经安装了brew的应该会自带了osxkeychain.但是奇怪的是,我安装了brew的,使用brew安装应用也没有问题.那就只能手动的再设置一次了.

使用方法

  1. 先使用命令下载 git-credential-osxkeychain
    curl http://github-media-downloads.s3.amazonaws.com/osx/git-credential-osxkeychain -o git-credential-osxkeychain
  2. git-credential-osxkeychain 放入 bin目录
    mv git-credential-osxkeychain /usr/local/bin
  3. git-credential-osxkeychain赋权限
    chmod u+x /usr/local/bin/git-credential-osxkeychain
  4. 在Git全局配置中进行设置(也可以在某一个项目里面设置):
    git config --global credential.helper osxkeychain

经过上面的设置,下次访问https的项目时只需要输入一次密码,就会存储到osx的钥匙串中了,以后再也不会在Git中询问了.