SDK环境设置

1 引入AppSDK.jar包及so文件

集成JAR及so在Android Studio中与Eclipse中稍有区别,根据下面图片进行集成。

Android Studio集成:

Android

Eclipse集成:

 

Eclipse集成

 

2 修改AndroidManifest.xml

2.1 修改LAUNCHER

修改第一启动项LAUNCHER为NationSkySandbox_LAUNCHER

<activity
    android:name=".MainActivity"
    android:excludeFromRecents="true"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.NationSkySandbox_LAUNCHER" />
    </intent-filter>
</activity>

2.2 添加<meta-data>

<!--接入标识-->
<meta-data
    android:name="cs_app"
    android:value="NationSkySandbox" />
<!--版本号-->
<meta-data
    android:name="cs_ver"
    android:value="1.3.0.160114" />
<!--APPSDK应用标示(区分Wrapping和AppSDK)-->
<meta-data
    android:name="cs_sdk"
    android:value="APPSDK" />

 2.3 注册沙箱应用Service

定义:action为:【包名+“.ISandboxAppService”】

<service
    android:name="com.coral.sandbox.service.SandboxAppService"
    android:enabled="true"
    android:process=":remote" >
    <intent-filter>
        <action android:name="com.coralsec.AppSDKdemo.ISandboxAppService" />
    </intent-filter>
</service>

 2.4 沙箱应用隔离

沙箱应用隔离包含沙箱外禁止启动,在沙箱内启动后,在沙箱外不可见。

禁止沙箱外启动

Application标签添加自定义权限,只有具有此权限的应用能够启动(沙箱容器,沙箱内容器都具有此权限)。

<application
    android:name=".Appliction"
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:permission="com.coralsec.permission.CORALSEC_APP_CONTROL"
    android:theme="@style/AppTheme" >

 2.5  启动后沙箱外不可见

Activity标签添加android:excludeFromRecents=”true”,使沙箱内应用启动后,在外部的最近任务中不可见。

<activity
    android:name=".MainActivity"
    android:excludeFromRecents="true"
    android:label="@string/app_name" /activity>

2.6  添加权限

自定义权限CORALSEC_APP_CONTROL,需要在沙箱容器的AndroidManifest.xml文件中声明此权限,5.0仅支持一份声明,因此声明权限应该放在主客户端中。

<uses-permission android:name="com.coralsec.permission.CORALSEC_APP_CONTROL" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />