Android手机控制电脑撸出HelloWorld

最近在开发一个远程办公的软件。
昨天在手机调通,并且成功通过手机打开电脑上的Eclipse撸出来一个HelloWorld。

也许不久的将来, 下班后,拿着手机在家写代码了。工作时间直接变成24/24 /7

废话不多说,先来看下面的截图,图片都是手机截图

直接通过手机打开一个Windows操作系统。

打开Windows操作系统

下面打开Eclipse,创建了java工程。

HelloWorld

相关原理

本篇我们简单介绍下。有些低层代码还没有来得及仔细研究,写的有点水。

  1. 首先服务器开发一个虚拟桌面,类似阿里云的虚拟镜像一样,然后手机端进行交互。
  2. 具体界面通过GLSerfaceView进行绘制。
  3. 通过Spice协议传递交互数据

代码需要用到C语言函数库。这里armeabi和x86架构下都放置了这两个函数库,保证能够正常在模拟器和真机运行。

涉及到的开源框架

传输的流媒体框架使用GStreamer
SDK下载地址:
http://docs.gstreamer.com/display/GstSDK/Installing+the+SDK
教程下载地址:
http://docs.gstreamer.com/display/GstSDK/Android+tutorial+1%3A+Link+against+GStreamer

代码中首先加载本地函数库,提供一个native方法.

package org.freedesktop.gstreamer;

import android.content.Context;

public class GStreamer {
    private static native void nativeInit(Context context) throws Exception;

    static {
        System.loadLibrary("gstreamer_android");
    }

    public static void init(Context context) throws Exception {
        nativeInit(context);
    }
}

程序一开始调用init方法。

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        mContext = this;
        try {
            GStreamer.init(mContext);
        } catch (Exception e) {
            Log.e(TAG, "Can't initialize GStreamer" + e.getMessage());
            finish();
        }
        //.....
    }

关于具体通信主要参考开源项目flexVDI/launcher-mobile

https://github.com/flexVDI/launcher-mobile

函数库源码通过cerbero获取
https://github.com/EricssonResearch/cerbero
或者
https://github.com/flexVDI/cerbero

下面一大堆native方法,大部分都是和手势 / 输入内容交互的。(请忽略native方法红色警告)


最后

代码还是比较多,没法一一列举,水了一篇。原谅我吧。以后有时间肯定会详细的分享出来。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,909评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,489评论 2 45
  • 问题描述:猴子分桃:海 滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一...
    孙睿888阅读 1,421评论 0 0
  • 因为好多小伙伴在问去稻城的各种事宜,所以今天特地写一篇攻略,希望对即将去稻城的小伙伴们有帮助,也祝你们旅途愉快! ...
    莲欢阅读 1,080评论 3 2
  • [图片上传中。。。(1)]一、凤凰网为什么裁员? 网媒的寒冬再次降临,今天,凤凰网宣布裁员并转型。大量无法被移动客...
    f11015f29d83阅读 539评论 0 1