Android 调用服务时java.lang.ExceptionInInitializeError错误
当我从eclipse运行我的项目时,它工作得非常好 创建签名apk后,我已经在我的设备上进行了测试。它抛出以下异常Android 调用服务时java.lang.ExceptionInInitializeError错误,android,Android,当我从eclipse运行我的项目时,它工作得非常好 创建签名apk后,我已经在我的设备上进行了测试。它抛出以下异常 FATAL EXCEPTION: main java.lang.ExceptionInInitializerError at com.rvg.app.aws.RegisterService.onCreate(Unknown Source) at android.app.ActivityThread.handleCreateService(ActivityThread.java:25
FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at com.rvg.app.aws.RegisterService.onCreate(Unknown Source)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2529)
我的SplashScreen课程
public class SplashActivity extends BaseFragmentActivity {
private boolean isDestroyed = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spashscreen);
startRegisterService();
mHandler.sendEmptyMessageDelayed(1,4000l);
}
private void startRegisterService(){
if(!MyApplication.getSnsPreference().isRegistered()){
startService(new Intent(this, RegisterService.class));
}
}
@SuppressLint("HandlerLeak")
private Handler mHandler = new Handler(){
public void handleMessage(android.os.Message msg) {
if(msg.what == 1 && !isDestroyed){
Intent intent;
if(MyApplication.getUserPrefs().isLoggedIn()){
intent = new Intent(SplashActivity.this, HomeActivity.class);
}
else{
intent = new Intent(SplashActivity.this, WelcomeActivity.class);
}
startActivity(intent);
finish();
}
};
};
@Override
protected void onDestroy() {
isDestroyed = true;
super.onDestroy();
}
}
还有我的注册服务类
public class RegisterService extends Service{
private PushRegister mRegister;
@Override
public void onCreate() {
super.onCreate();
mRegister = new PushRegister(this);
startRegister();
}
private void startRegister(){
new AsyncTask<Void, Void, Boolean>(){
@Override
protected Boolean doInBackground(Void... params) {
return mRegister.registerSns();
}
protected void onPostExecute(Boolean result) {
stopSelf();
}
}.execute();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
公共类注册服务扩展服务{
专用推送寄存器;
@凌驾
public void onCreate(){
super.onCreate();
mRegister=新的推送寄存器(本);
startRegister();
}
私有无效startRegister(){
新建异步任务(){
@凌驾
受保护的布尔doInBackground(Void…params){
返回mRegister.registerSns();
}
受保护的void onPostExecute(布尔结果){
stopSelf();
}
}.execute();
}
@凌驾
公共IBinder onBind(意向){
返回null;
}
}
如何解决这个问题。?
从eclipse运行时没有问题。签署apk后,我已将其加载到sd卡并安装。当打开应用程序时,它会崩溃
问题是什么以及如何解决?是的,可能是-keep public class*扩展android.app.Activity-keep public class*扩展android.app.Application-keep public class*扩展android.app.Service-keep public class*扩展android.content.BroadcastReceiver-keep public class*扩展android.content.ContentProvider大多数有相同问题的人声称正在使用NDK。@Mighter hi。禁用proguard之后,它就可以工作了。@Mighter但是如何应用proguard呢?您发布的堆栈似乎是来自Eclipse捕获异常的堆栈。运行超过此点,允许将异常记录到LogCat。然后,检查LogCat并查找嵌套的“起因”异常及其堆栈跟踪部分。