Rockpi4 安卓9.0 无法使用usb摄像头,没有以太网设置

在安卓7.1下usb摄像头使用正常,但是7.1无法设置为2k分辨率,安卓9默认没有相机相机应用,下载google相机无法打开闪退,第三方相机应用提示找不到摄像头,安卓9没有以太网设置,无法设置静态ip地址,望修复

在设置里可以设置以太网的
Settings -> Network&internet -> Ethernet

2K 分辨率需要你删掉一个文件

adb root
adb remount
adb shell rm /system/usr/share/resolution_white.xml
adb reboot

相机的问题我们看看,有问题会更新

我刚刚试了下Usb摄像头,没问题.你看下换到靠底下的USB 3.0口试试,上的那个3.0的口要拨下开关到HOST模式

谢谢,在最新的安卓9.0上,摄像头工作正常,分辨率正常,以太网设置也有了,
我还需给我的应用程序获取根权限,以便于自动更新,请问安卓9.0怎么获取根权限。

可能需要修改下system/extras/su 下对uid的限制。

diff --git a/su/su.cpp b/su/su.cpp
index f3e4ff0..b0c4b95 100644
--- a/su/su.cpp
+++ b/su/su.cpp
@@ -81,7 +81,7 @@ void extract_uidgids(const char* uidgids, uid_t* uid, gid_t* gid, gid_t* gids, i
 
 int main(int argc, char** argv) {
     uid_t current_uid = getuid();
-    if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "not allowed");
+//    if (current_uid != AID_ROOT && current_uid != AID_SHELL) error(1, 0, "not allowed");
 
     // Handle -h and --help.
     ++argv;

还需要将 frameworks\base\core\jni\com_android_internal_os_Zygote.cpp
DropCapabilitiesBoundingSet 方法内容删除或注释
static bool DropCapabilitiesBoundingSet(std::string* error_msg) {
// for (int i = 0; prctl(PR_CAPBSET_READ, i, 0, 0, 0) >= 0; i++) {
// int rc = prctl(PR_CAPBSET_DROP, i, 0, 0, 0);
// if (rc == -1) {
// if (errno == EINVAL) {
// ALOGE("prctl(PR_CAPBSET_DROP) failed with EINVAL. Please verify "
// “your kernel is compiled with file capabilities support”);
// } else {
// *error_msg = CREATE_ERROR(“prctl(PR_CAPBSET_DROP, %d) failed: %s”, i, strerror(errno));
// return false;
// }
// }
// }
return true;
}

将system\core\libcutils\fs_config.cpp
{ 04750, AID_ROOT, AID_SHELL, 0, “system/xbin/su” }
修改为
{ 06755, AID_ROOT, AID_SHELL, 0, “system/xbin/su” }

修改完后,正常获取root权限

还需要关闭Selinux
/system/core/init/selinux.cpp 修改IsEnforcing内容

bool IsEnforcing() {
// if (ALLOW_PERMISSIVE_SELINUX) {
// return StatusFromCmdline() == SELINUX_ENFORCING;
// }
return false;
}

是的,你这样改符合需求即可,如果对安全性有要求的话,建议使用Native Service代理执行。