gpt4 book ai didi

android - Firebase 奇怪的错误 java.lang.ClassNotFoundException : not during development, 但在 apk 发布之后

转载 作者:行者123 更新时间:2023-11-30 00:39:20 25 4
gpt4 key购买 nike

我的应用程序遇到了一个奇怪的行为,在开发过程中,当我在实际设备上运行该应用程序时,它完美地运行,结果如下

app-behavior-during-dev

但是当我发布同一个应用程序并在设备上运行后,该应用程序多次崩溃并死机

enter image description here

如您所见,当访问 Firebase 控制台中的 __Crash Reporting_ 选项时,我得到了这个堆栈跟踪,上面写着

enter image description here

====

Exception java.lang.NoClassDefFoundError: Failed resolution of: Lcom/squareup/picasso/Picasso;
org.team.asl.connectin.activity.MainActivity$4.onDataChange (MainActivity.java:226)
com.google.android.gms.internal.zzbmz.zza ()
com.google.android.gms.internal.zzbnz.zzYj ()
com.google.android.gms.internal.zzboc$1.run ()
android.os.Handler.handleCallback (Handler.java:815)
android.os.Handler.dispatchMessage (Handler.java:104)
android.os.Looper.loop (Looper.java:194)
android.app.ActivityThread.main (ActivityThread.java:5631)
java.lang.reflect.Method.invoke (Method.java)
java.lang.reflect.Method.invoke (Method.java:372)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:959)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:754)
arrow_drop_down
Caused by java.lang.ClassNotFoundException: Didn't find class "com.squareup.picasso.Picasso" on path: DexPathList[[zip file "/data/app/org.team.asl.connectin-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
dalvik.system.BaseDexClassLoader.findClass (BaseDexClassLoader.java:56)
java.lang.ClassLoader.loadClass (ClassLoader.java:511)
java.lang.ClassLoader.loadClass (ClassLoader.java:469)
org.team.asl.connectin.activity.MainActivity$4.onDataChange (MainActivity.java:226)
com.google.android.gms.internal.zzbmz.zza ()
com.google.android.gms.internal.zzbnz.zzYj ()
com.google.android.gms.internal.zzboc$1.run ()
android.os.Handler.handleCallback (Handler.java:815)
android.os.Handler.dispatchMessage (Handler.java:104)
android.os.Looper.loop (Looper.java:194)
android.app.ActivityThread.main (ActivityThread.java:5631)
java.lang.reflect.Method.invoke (Method.java)
java.lang.reflect.Method.invoke (Method.java:372)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:959)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:754)

为什么会这样

Exception java.lang.NoClassDefFoundError: Failed resolution of: Lcom/squareup/picasso/Picasso;
org.team.asl.connectin.activity.MainActivity$4.onDataChange (MainActivity.java:226)

更新

MainActivity的第226行是

@Override
public void onStart() {
super.onStart();

try{
// Add value event listener to the post
// [START user_value_event_listener]
ValueEventListener userListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Get User object and use the values to update the UI
mCurrentUser = dataSnapshot.getValue(User.class);
// [START_EXCLUDE]

Picasso.with(MainActivity.this) // Line number 226
.load(mCurrentUser.getAvatarUrl())
.into(mUserAvatarImageView);
mUserNameTextView.setText(mCurrentUser.getUserName());
mUserEmailTextView.setText(mCurrentUser.getEmail());

// [END_EXCLUDE]
}

@Override
public void onCancelled(DatabaseError databaseError) {
// Getting User failed, log a message
FirebaseCrash.log(databaseError.toException().getMessage());

}
};


mCurrentUserDatabaseReference.addValueEventListener(userListener);
// [END user_value_event_listener]

// Keep copy of post listener so we can remove it when app stops
mUserListener = userListener;

} catch (Exception e){

FirebaseCrash.log("Message is " + e.getMessage());
}

}

MultiDex 类是

public class EnableMultiDex extends MultiDexApplication {
private static EnableMultiDex enableMultiDex;
public static Context context;

public EnableMultiDex(){
enableMultiDex=this;
}

public static EnableMultiDex getEnableMultiDexApp() {
return enableMultiDex;
}

@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
FirebaseDatabase.getInstance().setPersistenceEnabled(true);
}
}

在 AndroidManifest.xml 中

    <application
android:name=".EnableMultiDex"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
..............

和整个build.gradle

apply plugin: 'com.android.application'

android {
compileSdkVersion 25
buildToolsVersion "25.0.2"

defaultConfig {
applicationId "org.team.asl.connectin"
minSdkVersion 21
targetSdkVersion 25
versionCode 1
versionName "0.0.1.2 Beta"
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.2.0'
compile 'com.android.support:support-v4:25.2.0'
compile 'com.android.support:design:25.2.0'
compile 'com.android.support:recyclerview-v7:25.2.0'
compile 'com.android.support:cardview-v7:25.2.0'
compile 'com.google.firebase:firebase-database:10.0.1'
compile 'com.google.firebase:firebase-storage:10.0.1'
compile 'com.google.firebase:firebase-config:10.0.1'
compile 'com.google.firebase:firebase-crash:10.0.1'
compile 'com.google.firebase:firebase-auth:10.0.1'
compile 'com.google.firebase:firebase-common:10.0.1'
compile 'com.google.android.gms:play-services-gcm:10.0.1'
compile 'com.google.android.gms:play-services-auth:10.0.1'
compile 'com.google.android.gms:play-services:10.0.1'

compile 'com.android.support:multidex:1.0.1'

// FirebaseUI Auth only
compile 'com.firebaseui:firebase-ui-auth:1.0.1'
compile 'com.firebaseui:firebase-ui-database:1.0.1'
/*compile 'com.afollestad.material-dialogs:core:0.9.3.0'*/
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'de.hdodenhof:circleimageview:2.1.0'
compile 'me.kareluo.ui:popmenu:1.1.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta3'
compile 'com.github.jd-alexander:LikeButton:0.2.0'
compile 'com.dynamitechetan.flowinggradient:flowinggradient:1.1'
compile 'com.github.castorflex.smoothprogressbar:library-circular:1.0.1'
compile 'com.daimajia.numberprogressbar:library:1.4@aar'
compile 'com.labo.kaji:relativepopupwindow:0.2.1'
compile 'com.webianks.library:popup-bubble:1.0.3'
compile 'com.zaaach:toprightmenu:1.0'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.android.support:palette-v7:25.2.0'
compile 'com.github.jrvansuita:MaterialAbout:+'
compile 'com.github.daniel-stoneuk:material-about-library:1.7.1'
compile "com.mikepenz:iconics-core:2.8.2@aar"
compile 'com.mikepenz:google-material-typeface:2.2.0.3.original@aar'
compile 'com.mikepenz:community-material-typeface:1.7.22.1@aar'
compile 'com.github.paolorotolo:appintro:3.4.0'
compile 'com.android.support.constraint:constraint-layout:1.0.0-beta3'

}

apply plugin: 'com.google.gms.google-services'

发布后出现问题,我该如何解决,

最佳答案

在我看来你忘了添加 Picasso混淆规则。如前所述 here :

If you are using ProGuard you might need to add the following option:

-dontwarn com.squareup.okhttp.**

proguard-rules.pro 中添加上述行。

关于android - Firebase 奇怪的错误 java.lang.ClassNotFoundException : not during development, 但在 apk 发布之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42795913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com