美文网首页
centos 7 服务器 纯命令行 安装 android 官方模

centos 7 服务器 纯命令行 安装 android 官方模

作者: 伤脑筋orz | 来源:发表于2019-07-22 16:11 被阅读0次
    step1:安装java环境:略
    step2:安装sdk环境:
    #(1)下载sdk包
    wget https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
    # (2)解压
    unzip  /opt/sdk/sdk-tools-linux-4333796.zip
    
    step3:下载模拟器的镜像和工具
    #如果没有配置sdk的环境 那么到 sdk/tools/bin 目录下操作
    #(1)查看可选项
    ./sdkmanage --list
    #(2)下载选择的
    ./sdkmanager "system-images;android-24;default;armeabi-v7a" "patcher;v4" "build-tools;29.0.1" "emulator" "platform-tools" "platforms;android-24 "
    
    step4:create 模拟器
    ./avdmanager create avd -k "system-images;android-24;default;armeabi-v7a" -n "24darm"
    
    step5:配置模拟器运行环境
    #运行emulator  检查依赖关系 
    ./emulator -avd 24darm
    #可能会报依赖的错误
    ldd 报错的.so
    #ubuntu使用 apt-file search 依赖的.so  可以查到那个包里面可以安装 一个不行就换个。。
    #centos yum whatprovides 依赖的.so 用之前需要安装yum-utils 
    
    #一些so的安装方式
    libX11.so.6  -> yum -y install libX11
    libGL.so.1 -> yum install mesa-libGL
    libXcomposite.so.1 -> yum install libXcomposite.x86_64
    libXcursor.so.1 -> yum install libXcursor
    
    #其中有一些包是在sdk/emulator/lib64 文件夹中 需要将其添加到系统公共库中
    #在/etc/ld.so.conf.d/文件夹下新建 sdk.conf
    touch /etc/ld.so.conf.d/sdk.conf
    #添加路径
    /opt/sdk/emulator/lib64
    /opt/sdk/emulator/lib64/qt/lib
    #使其生效
    ldconfig
    #建立软链接(/opt/sdk/emulator/lib64/qt/lib)
    ln -sf libxkbcommon.so.0.0.0 libxkbcommon.so.0
    
    step6:启动模拟器 无界面
    nohup ./emulator -avd 24darm -gpu off -no-window > 24darm.log 2>&1 &
    
    启动后使用命令exit退出  直接点x关闭会使模拟器关闭 nohup命令的关系
    

    ps:一些其他的启动参数:
    https://android-doc.com/tools/help/emulator.html
    或者emulator -help 查看

    step7:安装启动应用 pm am 略
    step8:建立本地映射
    #查看当前的模拟器
    adb devices
    #emulator-5554  device
    #查看emulator的token
    cat /root/.emulator_console_auth_token
    #编辑映射
    telnet localhost 5554
    #在telnet中编辑
    auth 查到的token
    redir add tcp:宿主机端口:模拟器端口
    #查看结果
    redir list
    #tcp:8080  => 8080 映射成功  
    #此时在本地使用 localhost或者127.0.0.1  端口号已经可以访问模拟器中的服务
    
    step9:添加上层网络的映射

    因为telnet的映射只是映射到localhost 上层的网络 比如路由分给服务器的192.168.1.2,使用这种IP是无法访问到模拟器中的服务的。

    使用nginx将192.168.1.2的上层网络 的端口在 代理到 localhost的本地端口 就可以访问到 模拟器中的服务了

    一个新的错误

    错误信息:
     ./emulator -avd 24darm
    emulator: WARNING: encryption is off
    emulator: INFO: QtLogger.cpp:68: Warning: could not connect to display  ((null):0, (null))
    
    
    emulator: INFO: QtLogger.cpp:68: Info: Could not load the Qt platform plugin "xcb" in "../emulator/lib64/qt/plugins" even though it was found. ((null):0, (null))
    
    
    Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: xcb.
     ((null):0, (null))
    emulator: INFO: QtLogger.cpp:68: Fatal: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    
    Available platform plugins are: xcb.
     ((null):0, (null))
    
    解决方式:
    上面使用的命令是  /tools/emulator
    将命令替换为     /emulator/emulator
    就可以解决这个问题
    

    相关文章

      网友评论

          本文标题:centos 7 服务器 纯命令行 安装 android 官方模

          本文链接:https://www.haomeiwen.com/subject/eruwlctx.html