输入bash,即可进入界面友好的bash了
分类: 安卓
uiautomator
uiautomator dump可能会提示ERROR: null root node returned by UiTestAutomationBridge.
解决方案是写个循环多试几(十)次
Android基础
1. Toast.makeText(getContext(), “hello”, …)后还要.show()让Toast显示出来
2. fragment的binding写在onCreateView里
binding = FragmentDashboardBinding.inflate(inflater, container, false);
View root = binding.getRoot();
return view
3. R.string.mystring是数字而不是String, 应该使用getResouces().getString(R.string.mystring)来获得String, 如果直接R.string.s1 + R.string.s2来设置String的话,则系统会尝试获取一个资源id等于这两个数字之和的资源,从而产生崩溃。
4. fragment调用所属activity的方法
(TheActivity)getActivity().activityMethod();
5. navigation、navigation_host_fragment中切换到新fragment方法:
navController.navigate(R.id_navigation_…)
参数是个navigation,在res/navigation/下对应的xml中新增这个navigation
6. 使用此方法来获得文件描述符时,应在使用文件描述符后再调用parcelFileDescriptor.close()进行关闭
ParcelFileDescriptor parcelFileDescriptor = getContext().getContentResolver().openFileDescriptor(MyFFmpeg.uri, "r");
FileDescriptor fileDescriptor = parcelFileDescriptor.getFileDescriptor();
if(!fileDescriptor.valid()) {
Toast.makeText(getContext(), "fd not ok", Toast.LENGTH_LONG).show();
}
MyFFmpeg.openFile(fileDescriptor);
parcelFileDescriptor.close();
8. 导入的c的文件,时时刻刻记得要放在extern “C” {} 中进行导入,否则就像没导入一样,如导入ffmpeg中的<livformat/avformat.h>之类的时
Android Ndk
1. 自己编译出的第三方.so文件,在cmakelists中的add_library()中为importe类型。并且需要将这些第三方.so放在 app/src/main/jniLibs下、并且在模块的gradle里配置
sourceSets {
main {
jniLibs.srcDirs ‘src/main/jniLibs’
}
}
在jniLibs目录中,不同cpu架构下放对应.so,注意此处.so只能放在 jniLibs/cpu架构名/ 下,而不能放在这个的子目录下