* 由于APP中申請的第三方SDK的appkey與簽名文件有關,而APP不提供簽名文件,所以用戶需要自定義一份簽名文件,并根據該文件重新申請第三方SDK的appkey,替換到項目中。具體操作過程如下:
### 1. 創建簽名文件
打開cmd,輸入以下指令:
~~~
keytool -genkey -v -keystore {FILENAME.keystore} -alias {ALIAS} -keyalg RSA -validity {DURATION}
* {FILENAME.keystore} 為生成的KeyStore的文件名
* {ALIAS} 為生成的KeyStore文件的別名
* {DURATION} 為該KeyStore文件的過期時間
~~~
### 2. 修改app/build.gradle里android.signingConfigs.default_config
~~~
android {
signingConfigs {
default_config {
keyAlias '你的keyAlias'
keyPassword '你的keyPassword'
storeFile file('你的keystore文件路徑')
storePassword '你的storePassword'
}
}
...
}
~~~
### 3. 申請第三方SDK的appkey
需要申請appkey的SDK如下:
| 第三方SDK | appkey申請地址 |
|------------------|------------------------------------------------------------------------------------------------------|
| 靈聚SDK(軟件版) | http://dev.lingju.ai/ |
| 訊飛語音 | [http://www.xfyun.cn/index.php/mycloud/app/create](http://www.xfyun.cn/index.php/mycloud/app/create) |
| 百度LBS | http://lbsyun.baidu.com/apiconsole/key/create |
| 新浪微博 | http://open.weibo.com/apps/new?sort=mobile |
| 騰訊QQ | http://open.qq.com/ |
| 微信 | https://open.weixin.qq.com/ |
| 喜馬拉雅(聽書) | http://open.ximalaya.com/ |
* 注意:在申請靈聚SDK的appkey時,創建應用后,在該應用右側的“接入”選項可查看appkey。

### 4. 在項目中替換新申請到的appkey
在app下的com.lingju.assistant.social.weibo.Constants類中修改對應常量參數的值。
~~~
/** 微博appkey */
String WEIBO_APPKEY = "你的appkey";
/** 微信 */
String WECHAT_APPID = "你的appid";
String WECHAT_AppSecret = "你的appSecret";
/** 騰訊qq*/
String TENCENT_APPID = "你的appid";
String TENCENT_AppSecret = "你的appSecret";
/**訊飛語音*/
String XUNFEI_APPID = "你的appid";
/**喜馬拉雅*/
String XIMALAYA_APPKEY = "你的appkey";
String XIMALAYA_APPSECRET = "你的appSecret";
// 授權回調頁,默認使用該URL(在開發平臺創建應用時也要填入該URL)
String XIMALAYA_REDIRECT_URL = "https://api.ximalaya.com/openapi-collector-app/get_access_token";
/** 靈聚SDK*/
String LINGJU_APPKEY = "你的appkey";
~~~
* 特別的,百度LBS和喜馬拉雅的appkey需要在AndroidManifest.xml的application標簽下聲明:
~~~
<!-- 百度LBS -->
<meta-data
android:name="com.baidu.lbsapi.API_KEY"
android:value="你的appkey"/>
<!--喜馬拉雅SDK-->
<meta-data
android:name="app_key"
android:value="你的appkey"/>
~~~
### 5. 在項目中替換對應的SDK
* 由于訊飛語音應用申請的Appid和對應下載的SDK(包括jar和本地庫)具有一致性,SDK不通用。開發者還需要在voicemodule/libs和voicemodule/src/main/jniLibs中替換自己的訊飛SDK。如下圖所示:

* 另外,項目是使用了靈聚安卓版軟件版(不允許在非手機環境下運行)SDK。如果開發者需要開發硬件產品,需要在靈聚開發者平臺創建硬件類型應用,并下載硬件版SDK在voicemodule/libs中替換。如下圖所示:

然后在AssistantService類的chatRobotInited( )方法的AndroidChatRobotBuilder初始化中加入“授權碼”這一參數。

* 在靈聚開發者平臺您創建的應用右側的“接入”選項可查看授權碼。
