SDK环境设置
1 引入AppSDK.jar包及so文件
集成JAR及so在Android Studio中与Eclipse中稍有区别,根据下面图片进行集成。
Android Studio集成:
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" />