zhangzhenan created LUCENE-8274:
-----------------------------------
Summary: android上使用Lucene7.2.1出现Didn't find class
"java.lang.ClassValue"问题
Key: LUCENE-8274
URL: https://issues.apache.org/jira/browse/LUCENE-8274
Project: Lucene - Core
Issue Type: Bug
Components: core/queryparser
Affects Versions: 7.2.1
Environment: android-26
android studio
buildToolsVersion "28.0.0-rc1"
minSdkVersion 26
targetSdkVersion 26
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Reporter: zhangzhenan
由于android-26开始支持Java8,所以我着手将android工程中的Lucene4.7.2替换成7.2.1,我指定了java8进行编译
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
引用7.2.1
dependencies {
compile 'com.android.support:multidex:1.0.1'
compile 'org.apache.lucene:lucene-core:7.2.1'
compile 'org.apache.lucene:lucene-analyzers-common:7.2.1'
compile 'org.apache.lucene:lucene-analyzers-smartcn:7.2.1'
compile 'org.apache.lucene:lucene-queries:7.2.1'
compile 'org.apache.lucene:lucene-queryparser:7.2.1'
}
编译生成apk未出现问题,但运行时出现Didn't find class "java.lang.ClassValue"
04-25 10:20:15.129 13251 13273 E AndroidRuntime:
java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/ClassValue;
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.analysis.standard.StandardAnalyzer.createComponents(StandardAnalyzer.java:103)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.analysis.AnalyzerWrapper.createComponents(AnalyzerWrapper.java:134)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.analysis.Analyzer.tokenStream(Analyzer.java:198)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.util.QueryBuilder.createFieldQuery(QueryBuilder.java:240)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.QueryParserBase.newFieldQuery(QueryParserBase.java:475)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.QueryParserBase.getFieldQuery(QueryParserBase.java:467)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.MultiFieldQueryParser.getFieldQuery(MultiFieldQueryParser.java:154)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.QueryParserBase.handleBareTokenQuery(QueryParserBase.java:830)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.QueryParser.Term(QueryParser.java:469)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.QueryParser.Clause(QueryParser.java:355)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.QueryParser.Query(QueryParser.java:244)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.QueryParser.TopLevelQuery(QueryParser.java:215)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
org.apache.lucene.queryparser.classic.QueryParserBase.parse(QueryParserBase.java:109)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
com.android.globalsearch.model.index.ContactsIndexHelper.getQuery(ContactsIndexHelper.java:713)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
com.android.globalsearch.model.index.IndexHelper.initQuery(IndexHelper.java:496)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
com.android.globalsearch.model.task.search.SearchLocalTask$4.run(SearchLocalTask.java:342)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
java.lang.Thread.run(Thread.java:764)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: Caused by:
java.lang.ClassNotFoundException: Didn't find class "java.lang.ClassValue" on
path: DexPathList[[zip file
"/data/app/com.android.globalsearch-1nMSgWTRPQ5vt_9Co6iFaw==/base.apk"],nativeLibraryDirectories=[/data/app/com.android.globalsearch-1nMSgWTRPQ5vt_9Co6iFaw==/lib/arm,
/data/app/com.andriod.globalsearch-1nMSgWTRPQ5vt_9Co6iFaw==/base.apk!/lib/armeabi,
/system/lib, /vendor/lib]]
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:125)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
java.lang.ClassLoader.loadClass(ClassLoader.java:379)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: at
java.lang.ClassLoader.loadClass(ClassLoader.java:312)
04-25 10:20:15.129 13251 13273 E AndroidRuntime: ... 19 more
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]