多SDK合并方法及注意事项(android)
发表于2017-12-24
多SDK合并方法及注意事项
一、参考文档
1.unity与Android通信 http://blog.csdn.net/onafioo/article/details/52061858
2.高德地图概述http://lbs.amap.com/api/android-sdk/summary/
3.ShareSDK及SMSSDK概述 http://wiki.mob.com/sdk-sms-android-3-0-0/
二、遇到的问题及注意事项
1.多包合并时,次要的Activity不能执行非静态函数
2.使用markejar打包
3.架包中存在.aar文件的,需要在Build.gradle中引用
1).添加
repositories{
flatDir{
dirs 'libs' //就是你放aar的目录地址
}
}
2).dependencies {
...........
compile name: 'SMSSDK-3.0.0', ext: 'aar'
compile name: 'SMSSDKGUI-3.0.0', ext: 'aar'
..........
}
三、合并SDK步骤
第1步,使用AndoridStudio创建Android工程,保证包名与Unity的包名一致
第2步,导入需要的jar
第3步,配置manifest.xml文件,注意application如果公用的话,查看SDK代码配置apikey方式。
下列代码都有明确注释
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.yxcw.dmm"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0">
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.GET_TASKS" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- 用于进行网络定位 -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 -->
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<!-- 用于访问网络,网络定位需要上网 -->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 用于读取手机当前的状态 -->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!-- 用于写入缓存数据到扩展存储卡 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 用于申请调用A-GPS模块 -->
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<!-- 用于申请获取蓝牙信息进行室内定位 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<application
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
<meta-data
android:name="unityplayer.UnityActivity"
android:value="true" />
<meta-data
android:name="unityplayer.ForwardNativeEventsToDalvik"
android:value="false" />
</activity>
<!-- 自定义短信接口 -->
<activity android:name=".SMSSDKActivity" />
<!-- 自定义地图定位接口 -->
<activity android:name=".AMapActivity" />
<!-- 自定义第三方授权接口 -->
<activity android:name=".AuthorizationActivity" />
<!-- 自定义pio搜索接口 -->
<activity android:name=".PoiSearchActivity" />
<!-- 自定义路径导航接口 -->
<activity android:name=".NaviActivity"/>
<!-- 自定义地图绘制接口 -->
<activity android:name=".DrawMapActivity"/>
<!-- smssdk短信 -->
<activity
android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize" />
<!-- 高德service -->
<service android:name="com.amap.api.location.APSService" />
<activity
android:name="com.amap.api.navi.AmapRouteActivity"
android:configChanges="orientation|keyboardHidden|screenSize"
android:theme="@android:style/Theme.NoTitleBar" />
<!-- 高德key -->
<meta-data
android:name="com.amap.api.v2.apikey"
android:value="7d13ed89340292ba088ec582311ca957" />
</application>
</manifest>
需要源码,可加QQ群579825973咨询