应用程序包中的类的NoClassDefFoundError

问题描述 投票:1回答:1

以下是我的活动: com.domain.app.SampleActivity.java

public class SampleActivity extends Activity {

  @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setContentView(R.layout.sample_layout);

        DataProviderClass dataProvider = new DataProviderClass();
    }
}

com.domain.app.another folder.data provider class.Java

public class DataProviderClass {
  private DataProviderClassHelper helper = new DataProviderClassHelper();
}

com.domain.app.another folder.data provider class helper.Java

public class DataProviderClassHelper implements ExternalLibInterface {
  public DataProviderClassHelper() {
    }
}

以下是日志:

I / art(22555):拒绝重新初始化以前失败的类java.lang.Class I / art(22555):拒绝重新初始化以前失败的类java.lang.Class I / art(22555):拒绝重新初始化以前失败的类java.lang.Class I / art(22555):拒绝重新初始化以前失败的类java.lang.Class I / art(22555):拒绝重新初始化以前失败的类java.lang.Class E / AndroidRuntime(22555):进程:com.domain.app,PID:22555 E / AndroidRuntime(22555):java.lang.NoClassDefFoundError:com.domain.app.anotherFolder.DataProviderClassHelper.java E / AndroidRuntime (22555):at com.domain.app.anotherFolder.DataProviderClass.java。(DataProviderClass.java:77)E / AndroidRuntime(22555):at com.domain.app.SampleActivity..onCreate(SampleActivity.java:64)W / ActivityManager(1103):强制完成活动1 com.domain.app/.SampleActivity

我初始化一个类没有意义,但同一文件夹中的另一个类给我一个错误。 在其他类似的问题中,人们在他们试图导入的外部库中面临这个错误,这对我没有帮助。

java android noclassdeffounderror
1个回答
2
投票

在我的DataProviderClassHelper中,我实际上实现了在外部库的存根罐中提供的ExternalLibInterface接口。 由于它是provided,代码将成功编译,但实际上在运行时我无法使用。为了能够访问系统上的实际内容,我必须在AndroidManifest.xml中添加一些特定于库的组件。因此,解决方案可能并不能完全帮助每个人,但它可以帮助人们确定问题的原因。 在我的情况下,这是由于ExternalLibInterface在运行时不可用。

© www.soinside.com 2019 - 2024. All rights reserved.