我正在使用RxJava和Retofit开发一个Android应用程序。当我在API 23上测试代码时,没有错误,但是在API
15中测试时,我的RxJava似乎无法正常工作,并且我的应用程序因错误而崩溃:
FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at $Proxy1.createToken(Native Method)
at com.loginsignup.presenter.LoginPresenterImpl.tryToLogin(LoginPresenterImpl.java:39)
at com.loginsignup.view.LoginActivity.tryToLogin(LoginActivity.java:197)
at com.loginsignup.view.LoginActivity.onClick(LoginActivity.java:180)
at android.view.View.performClick(View.java:4084)
at android.view.View$PerformClick.run(View.java:16966)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoClassDefFoundError: rx.plugins.RxJavaPlugins
at rx.Observable.<clinit>(Observable.java:63)
at $Proxy1.createToken(Native Method)
at com.gooroo.gooroo.loginsignup.presenter.LoginPresenterImpl.tryToLogin(LoginPresenterImpl.java:39)
at com.gooroo.gooroo.loginsignup.view.LoginActivity.tryToLogin(LoginActivity.java:197)
at com.gooroo.gooroo.loginsignup.view.LoginActivity.onClick(LoginActivity.java:180)
at android.view.View.performClick(View.java:4084)
at android.view.View$PerformClick.run(View.java:16966)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
这是我的gradle构建:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.example.ex"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "0.1 alpha"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
javaMaxHeapSize "4g"
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.4-beta2'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2'
compile files('libs/sinch-android-rtc-3.9.5.jar')
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.google.android.gms:play-services-maps:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.code.gson:gson:2.6.2'
compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.squareup.okhttp3:okhttp-urlconnection:3.2.0'
compile 'com.squareup.okhttp3:okhttp:3.2.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'
compile 'com.squareup.retrofit2:retrofit:2.0.0'
compile 'com.squareup.retrofit2:converter-gson:2.0.0'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0'
compile 'com.github.orhanobut:logger:1.12'
compile 'com.viewpagerindicator:library:2.4.1@aar'
compile 'io.reactivex:rxandroid:1.2.0'
compile 'io.reactivex:rxjava:1.1.5'
compile 'com.facebook.android:facebook-android-sdk:4.+'
compile 'com.stripe:stripe-android:+'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
compile 'com.timehop.stickyheadersrecyclerview:library:0.4.3@aar'
compile 'com.amazonaws:aws-android-sdk-core:2.+'
compile 'com.amazonaws:aws-android-sdk-s3:2.+'
compile 'com.google.android.gms:play-services-wallet:8.4.0'
compile 'com.android.support:multidex:1.0.0'
}
apply plugin: 'com.google.gms.google-services'
知道为什么API 23上没有问题,但是当我在API 16上运行它时,当我尝试使用RxJava登录时崩溃了吗?
这里的问题可能是您尚未初始化MultiDex Option
对Android 5.0及更高版本的Multidex支持
Android
5.0及更高版本使用称为ART的运行时,它本身支持从应用程序APK文件加载多个dex文件。ART在应用程序安装时执行预编译,该预编译将扫描classes(..
N).dex文件并将其编译为单个.oat文件,以供Android设备执行。有关Android
5.0运行时的更多信息,请参见ART简介。这就是您的应用在API级别21上可以正常运行的原因。
Android 5.0之前的Multidex支持
Android
5.0之前的平台版本使用Dalvik运行时执行应用程序代码。默认情况下,Dalvik将每个APK的应用程序限制为单个classes.dex字节码文件。为了解决此限制,您可以使用multidex支持库,该库成为应用程序主DEX文件的一部分,然后管理对其他DEX文件及其包含的代码的访问。
因此,首先确保您已导入正确的依赖关系,看来您确实做到了。
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
在清单中,将MultiDexApplication
来自multidex支持库的类添加到application元素。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.multidex.myapplication">
<application
...
// This will solved the problem
android:name="YourAppName">
...
</application>
</manifest>
这就是我解决我的问题的方法,即使有关于它的封闭Git问题。
编辑
public class YouAppName extends MultiDexApplication {
.. ..
}
希望对您有所帮助。
Animal.java 我为它创建了以下自定义断言: AnimalAssert.java 编辑:基于第一个答案(cglib需要一个),我用一个no arg构造函数更新了动物类,但是抛出了相同的异常
我的应用程序一直在许多Android平台上报告这个问题(4.1、4.0.4、2.3.6.…)。但我无法在我的手机上复制这个问题。我已经在Google上搜索了这个问题,但堆栈跟踪似乎与我的不一样。
我有一台带有Intel CPU的Windows机器(在引导菜单上启用VMX)。我使用VirtualBox在上面运行Ubuntu Guest。我在上面运行qemu,以运行另一个Guest OS,使用kvm(选项)。 我在尝试插入kvm-intel模块时收到以下错误: 我已经检查了来宾操作系统中的vpx标志,但我也没有看到 有没有办法在来宾Ubuntu操作系统中启用kvm支持,以便我可以在Ubuntu
我试图从java程序中使用Spark SQL,其中pom.xml中的依赖关系指向Spark版本1.6.0。下面是程序 但是,我在线程“main”java.lang.nosuchmethoderror:org.apache.spark.sql.sqlcontext.sql(ljava/lang/string;)lorg/apache/spark/sql/dataframe中出现异常;我正在创建一个平
主机系统为ARCHLinux。我想开发需要运行Windows docker容器的.NET4.6.1应用程序。所以我在VirtualBox下运行Win10。然后我在Win10中安装Docker,以运行Windows Docker容器。Linux->VirtualBox->Win10->Docker->Windows Docker容器->要运行的应用程序。 或者更具体地说,VirtualBox是否支持
问题内容: 我正在尝试根据此教程在我的应用程序中实现NotificationListenerService:http : //www.kpbird.com/2013/07/android- notificationlistenerservice.html ,但是调用getActiveNotifications时出现NullPointerException。 我正在向该服务发送广播,该广播应生成所有