百度推送 android studio 的配置
2016-01-15 10:35
337 查看
昨天整了下百度推送升级。
之前项目已经集成了百度推送,但是用eclipse开发的。所以需要做一些配置上的修改。
其实百度推送的文档[1]已经写的很清楚了。可是我还是遇到这种因为粗心产生的问题。所以一再提醒一下自己,一定得小心小心再小心。
首先,我们要在AndroidManifest.xml配置百度权限:
<!-- Push service 运行需要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
其次,要导入百度推送的jar包:
pushservice-最新版本号.jar
和so库。这里,我推荐把带arm的文件夹都拷贝到libs目录下。
百度建议在src/main下新建jniLibs目录,把这些文件夹拷过去,也可以,但在build.gradle里要配置下:
sourceSets {
main {
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
如果,你要拷贝到libs目录下:
需要在build.gradle里这样配置:
// task copyNativeLibs(type: Copy) {
// from fileTree(dir: 'libs', include: '*/*.so') into 'build/lib'
// }
// tasks.withType(JavaCompile) {
// compileTask -> compileTask.dependsOn copyNativeLibs
// }
// clean.dependsOn 'cleanCopyNativeLibs'
// tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
// pkgTask.jniFolders = [new File(buildDir, 'lib')]
// }
这里我注释了。
ok,接下来,就是在AndroidManiefest.xml增加各种百度的Service,Recevier了。
然后,百度推送过来的消息,你可以自己定义一个BroadCastRecever接收的。这个在百度推送文档和demo里也有介绍。这里就不赘述了。
这个,我特别建议您直接拷贝百度文档里的配置。
我会跳进的坑就是:
so库总是导入不成功。
manifest.xml的配置缺失。
希望可以帮助到你。
[1]http://push.baidu.com/doc/android/api
之前项目已经集成了百度推送,但是用eclipse开发的。所以需要做一些配置上的修改。
其实百度推送的文档[1]已经写的很清楚了。可是我还是遇到这种因为粗心产生的问题。所以一再提醒一下自己,一定得小心小心再小心。
首先,我们要在AndroidManifest.xml配置百度权限:
<!-- Push service 运行需要的权限 -->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />
其次,要导入百度推送的jar包:
pushservice-最新版本号.jar
和so库。这里,我推荐把带arm的文件夹都拷贝到libs目录下。
百度建议在src/main下新建jniLibs目录,把这些文件夹拷过去,也可以,但在build.gradle里要配置下:
sourceSets {
main {
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
如果,你要拷贝到libs目录下:
需要在build.gradle里这样配置:
// task copyNativeLibs(type: Copy) {
// from fileTree(dir: 'libs', include: '*/*.so') into 'build/lib'
// }
// tasks.withType(JavaCompile) {
// compileTask -> compileTask.dependsOn copyNativeLibs
// }
// clean.dependsOn 'cleanCopyNativeLibs'
// tasks.withType(com.android.build.gradle.tasks.PackageApplication) { pkgTask ->
// pkgTask.jniFolders = [new File(buildDir, 'lib')]
// }
这里我注释了。
ok,接下来,就是在AndroidManiefest.xml增加各种百度的Service,Recevier了。
然后,百度推送过来的消息,你可以自己定义一个BroadCastRecever接收的。这个在百度推送文档和demo里也有介绍。这里就不赘述了。
这个,我特别建议您直接拷贝百度文档里的配置。
我会跳进的坑就是:
so库总是导入不成功。
manifest.xml的配置缺失。
希望可以帮助到你。
[1]http://push.baidu.com/doc/android/api
相关文章推荐
- Android应用开发:CardView的使用及兼容
- Android Studio开发入门-引用jar及so文件
- 手写的Android命名规范
- android登陆获取验证码倒计时功能的实现(CountDownTimer)
- Android数据库安全解决方案,使用SQLCipher进行加解密
- Android中ListView中selector使用
- Android Studio入门到精通
- android初接触之Intent
- Android PowerImageView实现,可以播放动画的强大ImageView
- Android定位当前城市的实现
- Android Studio 导入SO库
- Android studio更新后创建不了项目
- Android实现水波纹外扩效果
- android加固系列—3.加固前先学会破解,静态修改so
- 阅读《Android 从入门到精通》(11)——下拉列表
- Android学习路之Android中的接口回调(一)
- Android技术--android屏幕适配详解
- AndroidStudio如何添加aidl文件
- Android 高效加载大图片避免OOM
- Android四种LaunchMode