发布版本中的java.lang.NoSuchMethodError
我制作了一个android应用程序发布版本中的java.lang.NoSuchMethodError,java,android,Java,Android,我制作了一个android应用程序 在调试模式下,应用程序没有问题, 但在发布和apk文件之后。 我收到了google play用户的崩溃报告 java.lang.NoSuchMethodError: No virtual method setDataSource(Landroid/content/res/AssetFileDescriptor;)V in class Landroid/media/MediaPlayer; or its super classes (declaration of
在调试模式下,应用程序没有问题, 但在发布和apk文件之后。 我收到了google play用户的崩溃报告
java.lang.NoSuchMethodError: No virtual method setDataSource(Landroid/content/res/AssetFileDescriptor;)V in class Landroid/media/MediaPlayer; or its super classes (declaration of 'android.media.MediaPlayer' appears in /system/framework/framework.jar)
at com.ali.gunprank.MainActivity.onCreate(MainActivity.java:90)
at android.app.Activity.performCreate(Activity.java:6178)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2648)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2769)
at android.app.ActivityThread.access$900(ActivityThread.java:177)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1430)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
而gradle文件是:
apply plugin: 'com.android.application'
android {
signingConfigs {
config {
keyAlias ******
keyPassword ******
}
}
compileSdkVersion 25
buildToolsVersion "25.0.0"
defaultConfig {
applicationId "com.ali.gunprank"
minSdkVersion 18
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha7'
testCompile 'junit:junit:4.12'
compile 'com.google.firebase:firebase-ads:10.2.1'
}apply plugin: 'com.google.gms.google-services'
所以有人知道我该怎么做吗?也许你应该了解Android库的不同API级别之间的差异。你不能只使用任何东西,就认为它对所有版本的Android都是一样的。请在这里发布你的
build.gradle
文件。请发布整个文件更新你的问题。如果你在发布中没有得到这样的方法,但没有调试,如果你使用的是proguard,首先检查你的proguard配置。它可以是剥离或重命名方法。如果有任何东西试图通过反射调用这些方法,您将得到此错误。