开发环境搭建

基础环境

Eclipse开发工具

本教程基于Eclipse开发工具,如果您没有Eclipse,可以到Eclipse官网下载

Android环境

UC浏览器插件是基于Android平台实现的,需要Android的基础环境,如果您不了解安卓开发,请参考Android开发者官网教程

UC插件SDK

UC浏览器插件通过实现Android的Service组件与浏览器建立双向的沟通,即浏览器和插件可以相互调用。插件的开发者不需要实现Service组件。我们会提供一个SDK,由这个SDK实现Service组件。插件与浏览的调用也是通过这个SDK。
点击下载

开发步骤

1.建立一个Android工程

要进行浏览器的Android插件开发,首先我们需要在Eclipse中去创建一个Android工程。

右键点击Package Explorer空白处,在弹出的对话框列表中选择NEW,然后会弹出一个二级对话框,选择创建一个Android Application Project工程,然后会弹出一个对话框,填入项目的名称,然后点击下方的“Next”按钮,这时出现的是Configure project对话框,这里是工程的一些配置信息,如果不需要进行配置,可以直接点击下方的“Next”进行下一步,然后会来到下一个界面“Configure the Atttibutes of the icon set“,这里是一些图标的设置,默认的可以不用改变,然后选择继续点击”Next“按钮进行下一步,然后来到了”Select whether to create an activity, and if so, what kind of activity.“界面,这里选择创建的Activity的形式,默认选择是”BlankActivty“,我们可以默认不选择,然后进行下一步,下一个界面是”Creates a new blank activity, with optional inner navigation.“我们填入Activity Name和Activity的布局还有Navigation Type. 输入完成后,我们可以点击完成,这样一个Android 工程就创建完成了。

Eclipse创建Android工程步骤如下:

1.右键点击Package Explorer空白处弹出的对话框列表.

2.New Android Application对话框

3.Configure Project对话框

4.Configure the attributes of the icon set对话框

5.Select whether to create an activity, and if so, what kind of activity.对话框

6.Creates a new blank activity, with optional inner navigation.对话框

完成的工程的结构图如下所示:

这里是一个标准的Android开发的工程结构图,这里我就不重点介绍了,如果有什么不理解的地方,可以参考Android的在线开发文档。

2.修改 AndroidManifest.xml

在AndroidManifest.xml中,在application标签中加入如下内容。这样此插件才能被浏览器识别。

  <!-- Declare Addon Service here! -->
 <service  android:name="com.uc.addon.sdk.remote.AddonService">
        <intent-filter>
            <action android:name="com.uc.browser.action.Addon"/>
        </intent-filter>
</service>

3.导入SDK Jar包

1.下载SDK 点击下载

2.在MyAddon工程目录下,建立一个libs目录,将UCAddonSDK.jar放入libs目录。

3.在Eclipse刷新工程。工程结构图如下:

4.提供配置文件

所有配置文件所在的目录结构如下:

在项目的assets目录下提供一个名为addon_config.xml 的配置文件。

addon_config.xml提供的信息包括:

1)插件的基本信息,如插件的名字,图标,版本号。

2)插件组件的信息,如声明Extension和Event Receiver由哪个类实现,组件的图标和名称等。配置文件需要的资源必须放在assets目录下,否则资源不能被正确读取。

例如,一个实现了ExtensionNewTab和CameraReceiver组件的插件的配置文件如下:

<?xml version="1.0" encoding="utf-8"?>
<addon name="WebViewAddon" icon="ic_lancher.png"  minSdkVersion="1.0" >

     <uses-permission name="addon.permission.TOAST" />
     <uses-permission name="addon.permission.EVENT_RECEIVER" />
     ...
     <extension  name="com.example.demo.MyExtension"
            description="new tab"
            location="AddonBar"
            icon="ic_lancher.png"
      >

     </extension>
     ...
    <event-receiver name="com.example.demo.CameraReceiver"
                description="camera"
                icon="ic_lancher.png">
       <intent-filter>
            <action name="addon.action.CAMERA_EVENT" />
       </intent-filter>
    </event-receiver>
</addon>

后续