1.AndroidStudio编译乱码
https://blog.csdn.net/quantum7/article/details/108270122
1.全局找到 studio64.exe.vmoptions
2.最后添加一行 -Dfile.encoding=UTF-8 然后重启AS就好了
2.ffmpeg常用
ffmpeg -i C:\Users\Administrator\Desktop\stutter.mp4 -r 6 output.mp4ffprobe -show_frames -print_format xml output.mp4 > output.xml
3.CSDN写文章首行缩进
首行加入    即可缩进
4.test only
在项目根目录下,找到gradle.properties文件,并打开。添加如下代码:android.injected.testOnly=false
5.AndroidStudio中编写纯java代码
使用test(非instrument test)路径的ExampleUnitTest类可以写,不用连接设备即可
6.桌面快捷方式图标是白色的
桌面快捷方式变成白色图标是由于缓存文件的问题导致,删除 IconCache.db 这个文件后
重启文件资源管理器。一、找到路径 C:\Users\你的用户名\AppData\Local\IconCache.dbAppData文件夹 和 IconCache.db 这2个文件默认是隐藏的
需要更改:文件夹选项 > 查看 > 隐藏文件和文件夹 > 显示隐藏的文件、文件夹和
驱动器选择后点击应用保存设置。二、打开任务管理器-右键Windows资源管理器-重新启动
7.主线程才能更新UI现场,子线程不行,这种情况,可以通过handler来实现,或者runOnUiThread()来实现,这个会运行在主线程
8.解决CRT自动间隔一段时间断开的问题
https://blog.csdn.net/windmyself/article/details/118028634?ops_request_misc=&request_id=&biz_id=102&utm_term=securecrt%E4%BC%9A%E8%87%AA%E5%8A%A8%E6%96%AD%E5%BC%80&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-2-118028634.142v33control,185v2control&spm=1018.2226.3001.4187
9.res/raw 文件,通过filedescriptor读取 getResources().openRawResourceFd(R.raw.my_music);
extractor和mp都支持filedescriptor,会被编译进入apk,成为一个resID
12.uploadArchives不见了
https://blog.csdn.net/limingbocsdn/article/details/116709052?ops_request_misc=&request_id=&biz_id=102&utm_term=uploadArchives%E4%B8%8D%E8%A7%81%E4%BA%86&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-116709052.142v39control,185v2control&spm=1018.2226.3001.4187
打开了experimentSetting之后,还要再右边的Gradle reload gradle就出来了
13.最近遇到一个宽高16位对齐的的问题,导致了解码出来花边的问题,解码器输出如果带了SLICE的话,实际输出宽高是没有
经过裁剪的,需要app自己处理,不然数据会有问题
14.宽高对齐的问题,编码出来的视频分辨率不对
https://blog.csdn.net/zhying719/article/details/106866192?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-106866192-blog-114691417.pc_relevant_multi_platform_featuressortv2removedup&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-106866192-blog-114691417.pc_relevant_multi_platform_featuressortv2removedup&utm_relevant_index=1
15.一定要确保EOS的flag有真正被送进去,不然会编解码卡住,如果持续多次queue EOS仍然fail,直接强制结束就行,反正也是最后几帧没送进去
16.public key的问题 http://bbm.scm.adc.com/help/helpDetail/7
1.最后一定要ssh一下所有网址,才会真正生效
2.ssh的时候,提示authen一定要输入yes,而不是回车,回车默认是no
3.有时候要删除 /home/andy/.ssh/known_hosts 这个玩意
18.设置linux环境变量方法
vim ~/.bashrc
vim /etc/profile
然后在文件末尾添加:
export ANDROID_HOME=/home/andy/work/android-ndk-r21e-linux-x86_64
export PATH=$PATH:$ANDROID_HOME
最后 source ~/.bashrc source /etc/profile
2个文件都要source一下,不然可能会失效
19.ffmpeg给一个视频改变创建时间的命令
ffmpeg -i input.mp4 -c copy -map 0 -metadata creation_time=“2018-12-25T12:32:22” output.mp4
20.waiting for debugger的问题
打开开发者选项,搜索“等待调试程序”,将其关闭(如果置灰了,就重新开关开发者选项)
21.如何查找apk在手机下的目录
D:\rom\olive>adb shell pm path com.coloros.gallery3d
package:/product/priv-app/OppoGallery2/OppoGallery2.apk
22.https://blog.csdn.net/weixin_42182599/article/details/123203352
INSTALL_PARSE_FAILED_MANIFEST_MALFORMED 问题解决方案
23.mediaplayer.setdisplay设置surface的时候,遇到“the surface has been released”的问题,是因为surfaceholder还没有初始化好,因此通过sf.getHolder().addCallback的方式,在对应surfaceCreated回调里面再去播放。
24.如何从一个Activity跳转到另外一个Activity
首先在AndroidManifest.xml中需要声明自己创建的activity
其次通过如下代码即可实现跳转:
Intent intent = new Intent();
intent.setClass(MainActivity.this, MainActivity2.class);
startActivity(intent);
25.win10安装ubuntu
首先下载一个微软商城,去里面搜索ubuntu,安装就可以了
如果没有微软商城就自己安装一个,software路径下面有
26.SurfaceTexture不是所有的color format格式都支持,目前已知的支持COLOR_FormatYUV420
27.新引入的工程如果出现了 Invalid Gradle JDK configuration found,可以通过删除 idea 下的 gradle.xml 然后重启AS来解决
28.git config --global core.autocrlf false 柳哥把这个自动换行符更改关闭掉 再拉代码就行了。就是win和linux换行符不一致 git在windows环境拉取时 会修改文件的换行符,我们底层解析文件只识别linux换行符
29.调用系统的ndk代码找不到链接的时候,在CMakeLists.txt文件中的 target_link_libraries 加入mediandk 就可以了
30.AAPT: error: unexpected element found in
classpath ‘com.android.tools.build:gradle:4.0.0’ ->classpath ‘com.android.tools.build:gradle:4.0.1’
31.相机录制有时候会带B帧,这种无法直接和倒序视频拼接起来,因为他们的sps pps信息无法保证一致
32.解决windows共享文件夹的方法,没有登录密码的时候需要设置关闭访问
https://blog.csdn.net/MuscleBaBa_Chang/article/details/125231878
33.More than one file was found with OS independent path ‘lib/armeabi-v7a/libavutil.so’.
老版本与新版本的jni jinLibs路径不一样导致的问题
33.kotlin的文件读取权限问题
需要把compile sdk version改为32
34.NDK的cpp文件中加打印log
https://blog.csdn.net/yuzhiyun3536/article/details/53223119?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167902142816800227453411%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167902142816800227453411&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~rank_v31_ecpm-1-53223119-null-null.142v74pc_search_v2,201v4add_ask,239v2insert_chatgpt&utm_term=NDK%20cpp%E5%A6%82%E4%BD%95%E6%89%93%E5%8D%B0log&spm=1018.2226.3001.4187
35.如何给一个模块添加NDK代码
右键那个模块,Add C++ to module
36.如何新增一个module
file - new -module- android library 如果选择某个路径下面生成,要用path:module_name的方式
其他的配置信息,必须和transcoder-common保持完全一致,不然有可能发生异常
36.NDK没有编译出so,大概率是build.gradle里面的cmake cppFlags那些东西没有配置引起的
37.Minimum supported Gradle version is 7.0.2. Current version is 6.8
这种问题是gradle版本不匹配导致的,需要改动2个地方
1.gradle-wrapper.properties中的distributionUrl gradle-6.1.1-all.zip
2.project build.gradle中的classpath “com.android.tools.build:gradle:3.6.3”
二者要匹配才可以
38 NDK各个版本下载
https://zinyan.com/?p=260
39 切换root用户后配置的环境变量可能会失效
root 非root用户都要配置一遍
40 All flavors must now belong to a named flavor dimension.
https://blog.csdn.net/gengbaolong/article/details/101785549
41.codeblock安装失败的问题,使用不带编译器的版本,然后自己下载编译器安装就行
https://blog.csdn.net/qq_42818011/article/details/125897900
42.INSTALL_FAILED_SHARED_USER_INCOMPATIBLE错误解决方式
1.去掉Mainefest文件中的userId代码
android:sharedUserId=“android.uid.system”
43.2 files found with path ‘lib/arm64-v8a/xxx.so‘ 问题
https://blog.csdn.net/xiaobaaidaba123/article/details/122520062