注意:感觉博客 网易博客迁移:Android极光推送(一)手动集成【完整版】自己写的这篇太长了,为了方便查阅把他拆分,这是步骤4
11、代码测试极光推送
在自定义的Application中onCreate中调用极光推送的初始化方法
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
JPushInterface.setDebugMode(true); //正式环境时去掉此行代码
JPushInterface.init(this);
}
}
然后在 AndroidManifest.xml 文件中关联MyApplication
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
运行项目,然后可以去官网,推送测试一下了!

OK,接收成功!

12、失败常见问题
运行编译app时报错:

把下面几个问题解决,就没此问题了!!!
(1)drawable-hdpi目录下的xml文件复制到drawable目录下
![]()

xml文件要放到drawable里面

(2)图片引入错误
PushSetActivity可能会报错,那是因为引入图片方式还是eclipse时候的方式,极光推送的开发工程师也够懒的没有更新!我们把引入图片“drawable”改成“mipmap”吧!如下

(3)错误: 程序包R不存在
手动引入R文件: import 主包名.R

(4)运行项目出现两个app
原因:把极光程序AndroidManifest.xml中 "测试的主程序" 复制到项目里面去了,把它删掉即可!
<!-- For test only 测试的主程序-->
<activity
android:name="com.example.jpushdemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
(5)推送有问题:没有满足条件的推送目标

此问题花了二个小时,测试可以,放到项目怎么就不可以了!
原因:包名的问题。项目刚建立的时候我修改过包名,开始包名为:com.luminal.greendao.myapplication
修改以后清单文件AndroidManifest.xml显示的新包名为:com.luminal.mjptouch

旧包名还出现在logcat区域里面,我就有点纳闷!

解决方式:
A、applicationId 肯定还对应旧的包名,需改成新包名:com.luminal.mjptouch

注:这个才是推送失败的关键点!
所以极光官网推送应用的包名 对应 AndroidManifest.xml的package、build.gradle的applicationId
B、有洁癖的话,也可以执行下面的操作:
把androidTest包中的类ExampleInstrumentedTest的assertEquals方法代码改为
// assertEquals("com.luminal.greendao.myapplication", appContext.getPackageName());
assertEquals("com.luminal.mjptouch", appContext.getPackageName());

删除旧包名有关资源:GreenDao_Projects2.iml文件


本文详细介绍了在Android应用中手动集成极光推送服务的步骤,包括在自定义Application中初始化极光推送、解决常见集成问题及代码测试方法。特别针对包名更改、资源引用错误等常见陷阱提供了具体解决方案。
781

被折叠的 条评论
为什么被折叠?



