我在用docx4j
从 SD 卡读取 Docx 文件。我有问题org.apache.log4j.Logger
图书馆。我什至尝试过从外部添加它。但它仍然给我同样的问题。
构建.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "com.shvet.pdfreaders"
minSdkVersion 11
targetSdkVersion 23
versionCode 1
versionName "1.0"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dexOptions {
incremental true
javaMaxHeapSize "4g"
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:multidex:1.0.1'
compile 'com.android.support:cardview-v7:23.1.1'
// compile('org.docx4j:docx4j:2.8.0') {
// transitive = false
// }
compile 'org.apache.logging.log4j:log4j-core:2.5'
compile files('libs/docx4j-2.8.0.jar')
}
Logcat
02-16 16:15:48.025 24912-24912/com.shvet.pdfreaders E/Android运行时:
致命异常:主要
进程:com.shvet.pdfreaders,PID:24912
java.lang.NoClassDefFoundError:无法解决以下问题:
Lorg/apache/log4j/Logger;
在 org.docx4j.openpackaging.Base.(Base.java:42)
在
com.shvet.pdfreaders.fragments.PdfViewFragment$6.fileSelected(PdfViewFragment.java:205)
在
com.shvet.pdfreaders.extra.FileChooser$1.onItemClick(FileChooser.java:59)
在 android.widget.AdapterView.performItemClick(AdapterView.java:305)
在 android.widget.AbsListView.performItemClick(AbsListView.java:1146)
在 android.widget.AbsListView$PerformClick.run(AbsListView.java:3057)
在 android.widget.AbsListView$3.run(AbsListView.java:3864)
在 android.os.Handler.handleCallback(Handler.java:739)
在 android.os.Handler.dispatchMessage(Handler.java:95)
在 android.os.Looper.loop(Looper.java:139)
在 android.app.ActivityThread.main(ActivityThread.java:5298)
在 java.lang.reflect.Method.invoke(本机方法)
在 java.lang.reflect.Method.invoke(Method.java:372)
在
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
原因:java.lang.ClassNotFoundException:未找到类
路径上的“org.apache.log4j.Logger”:DexPathList[[zip 文件
“/data/app/com.shvet.pdfreaders-1/base.apk”],nativeLibraryDirectories=[/vendor/lib,
/系统/lib]]
在
dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:511)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:469)
在 org.docx4j.openpackaging.Base.(Base.java:42)
在
com.shvet.pdfreaders.fragments.PdfViewFragment$6.fileSelected(PdfViewFragment.java:205)
在
com.shvet.pdfreaders.extra.FileChooser$1.onItemClick(FileChooser.java:59)
在 android.widget.AdapterView.performItemClick(AdapterView.java:305)
在 android.widget.AbsListView.performItemClick(AbsListView.java:1146)
在 android.widget.AbsListView$PerformClick.run(AbsListView.java:3057)
在 android.widget.AbsListView$3.run(AbsListView.java:3864)
在 android.os.Handler.handleCallback(Handler.java:739)
在 android.os.Handler.dispatchMessage(Handler.java:95)
在 android.os.Looper.loop(Looper.java:139)
在 android.app.ActivityThread.main(ActivityThread.java:5298)
在 java.lang.reflect.Method.invoke(本机方法)
在 java.lang.reflect.Method.invoke(Method.java:372)
在
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:950)
在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
抑制:java.lang.ClassNotFoundException:org.apache.log4j.Logger
在 java.lang.Class.classForName(本机方法)
在 java.lang.BootClassLoader.findClass(ClassLoader.java:781)
在 java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
在 java.lang.ClassLoader.loadClass(ClassLoader.java:504)
... 16 更多
导致:java.lang.NoClassDefFoundError:使用找不到类
引导类加载器;没有可用的堆栈
到目前为止我所做的:我尝试使用 jar 文件和外部log4j
并使用 gradle url 有和没有log4j
图书馆。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)