首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Cloudmine java.lang.NoClassDefFoundError:失败的决议: Lorg/slf4j/LoggerFactory;

Cloudmine java.lang.NoClassDefFoundError:失败的决议: Lorg/slf4j/LoggerFactory;
EN

Stack Overflow用户
提问于 2015-08-20 06:05:30
回答 2查看 5.8K关注 0票数 2

我正在尝试使用Cloudmine存储一些数据。

但是,当我为授权调用初始化()时,我得到了错误java.lang.NoClassDefFoundError: Failed resolution of: Lorg/slf4j/LoggerFactory;

我不是在另一条线上跑什么的。我现在正在测试一些东西,所以我只需要点击一个按钮,它就可以从一些EditText字段中上传一些信息。

这是我的密码

代码语言:javascript
复制
public class ButtonClick implements View.OnClickListener {
    private MainWindowActivity mainWindowActivity;

    public ButtonClick(MainWindowActivity mainWindowActivity, Button doneBtn, Button addBtn) {
        this.mainWindowActivity = mainWindowActivity;

        addBtn.setEnabled(true);
        addBtn.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
       // This will initialize your credentials
       // ERROR HERE
       CMApiCredentials initialize = CMApiCredentials.initialize("id", "key"); 

       SimpleCMObject location = new SimpleCMObject();
       location.add("address", Runner.getAddressStr());
       location.add("city", Runner.getCityStr());
       location.add("state", Runner.getStateStr());
       location.add("zip", Runner.getZipStr());

       location.save(new ObjectModificationResponseCallback() {
                    public void onCompletion(ObjectModificationResponse response) {
                        Toast.makeText(mainWindowActivity, "Location saved: " + response.wasSuccess(), Toast.LENGTH_SHORT).show();
                    }
                });

        EditText address = (EditText) mainWindowActivity.findViewById(R.id.address);
                address.setText("");
        EditText city = (EditText) mainWindowActivity.findViewById(R.id.city);
                city.setText("");
        EditText state = (EditText) mainWindowActivity.findViewById(R.id.state);
                state.setText("");
        EditText zip = (EditText) mainWindowActivity.findViewById(R.id.zip);
                zip.setText("");

    }
}

这是逻辑猫:

代码语言:javascript
复制
Process: prog, PID: 26580
    java.lang.NoClassDefFoundError: Failed resolution of: Lorg/slf4j/LoggerFactory;
            at com.cloudmine.api.CMApiCredentials.<clinit>(CMApiCredentials.java:21)
            at prog.ButtonClick.onClick(ButtonClick.java:52)
            at android.view.View.performClick(View.java:4780)
            at android.view.View$PerformClick.run(View.java:19866)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            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:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "org.slf4j.LoggerFactory" on path: DexPathList[[zip file "/data/app/prog-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
            at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
            at com.cloudmine.api.CMApiCredentials.<clinit>(CMApiCredentials.java:21)
            at prog.ButtonClick.onClick(ButtonClick.java:52)
            at android.view.View.performClick(View.java:4780)
            at android.view.View$PerformClick.run(View.java:19866)
            at android.os.Handler.handleCallback(Handler.java:739)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5257)
            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:903)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
    Suppressed: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
            at java.lang.Class.classForName(Native Method)
            at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
            at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
            ... 13 more
     Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
EN

回答 2

Stack Overflow用户

发布于 2018-12-17 14:57:41

我也犯了同样的错误,并在github上找到了这个解决方案。

只需在您的祖父中添加以下内容:

代码语言:javascript
复制
implementation 'org.slf4j:slf4j-api:1.7.25'

https://github.com/nomis/slf4j-android

票数 2
EN

Stack Overflow用户

发布于 2017-10-15 20:49:23

我只在Android5.0- 5.1 (一个真正的设备和模拟器)上遇到同样的问题。当时,我使用了AndroidStudio2.3.3并构建了工具v26。

我解决了一个问题,关闭即时运行,但我没有使用。

步骤:转到文件->设置->生成、执行、部署->即时运行禁用它(第一个复选框)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32110674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档