অ্যান্ড্রয়েডএক্সে স্থানান্তরিত করার খরগোশের ছিদ্রটি নেমে গেছে ...
আমি মাইগ্রেশন প্রায় শেষ করেছি, কিন্তু একটি ত্রুটির মধ্যে দৌড়ে গিয়ে আমি অতীত হয়ে উঠতে পারি না বলে মনে হয়।
ইতিমধ্যে চেষ্টা করা হয়েছে Clean & Rebuild
এবংInvalidate Caches / Restart
দেখে মনে হচ্ছে কিছু R.java ফাইলটিতে @ অনুগ্রহ করে ইনজেকশন দিচ্ছে যা স্বীকৃত নয়।
অ্যাপ্লিকেশনটির build.gradle
ফাইলটি দীর্ঘ তবে এখানে প্রাসঙ্গিক অংশগুলি (প্রাসঙ্গিক হলে আরও পোস্ট করতে পারে):
android {
compileSdkVersion 29
defaultConfig {
minSdkVersion 17
targetSdkVersion 29
}
compileOptions {
dataBinding {
enabled = true
}
}
dependencies {
...
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.2.0-alpha01'
def rxlifecycleVersion = "3.1.0"
implementation "io.reactivex.rxjava3:rxjava:3.0.0-RC4"
implementation "com.trello.rxlifecycle3:rxlifecycle:$rxlifecycleVersion"
implementation "com.trello.rxlifecycle3:rxlifecycle-kotlin:$rxlifecycleVersion"
implementation "com.trello.rxlifecycle3:rxlifecycle-android:$rxlifecycleVersion"
implementation "com.trello.rxlifecycle3:rxlifecycle-components:$rxlifecycleVersion"
implementation(name: 'SectionCursorAdapter-3.0.0', ext: 'aar')
implementation 'com.nextfaze.poweradapters:power-adapters:0.24.1'
implementation 'com.nextfaze.poweradapters:power-adapters-data:0.24.1'
implementation 'com.nextfaze.poweradapters:power-adapters-recyclerview-v7:0.24.1'
implementation 'com.nextfaze.poweradapters:power-adapters-support-v4:0.24.1'
...
}
}
আমি কোটলিন সংকলক থেকে ত্রুটিগুলির একটি সিরিজ পেয়েছি
e: /.../R.java:6187: error: incompatible types: Deprecated cannot be converted to Annotation
@Deprecated
^
e: /.../R.java:28468: error: incompatible types: Deprecated cannot be converted to Annotation
@Deprecated
^
e: /.../R.java:28882: error: incompatible types: Deprecated cannot be converted to Annotation
@Deprecated
^
e: java.lang.IllegalStateException: failed to analyze: java.lang.NullPointerException
at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:56)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:182)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:164)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:54)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:84)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:42)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:104)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1558)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:357)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
at android.databinding.annotationprocessor.ProcessDataBinding.getSupportedOptions(ProcessDataBinding.java:219)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor.getSupportedOptions(incrementalProcessors.kt)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor.createDependencyCollector(incrementalProcessors.kt:44)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor.access$createDependencyCollector(incrementalProcessors.kt:22)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor$dependencyCollector$1.invoke(incrementalProcessors.kt:24)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor$dependencyCollector$1.invoke(incrementalProcessors.kt:22)
at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalProcessor.getRuntimeType(incrementalProcessors.kt:69)
at org.jetbrains.kotlin.kapt3.base.incremental.IncrementalAptCache.updateCache(IncrementalAptCache.kt:26)
at org.jetbrains.kotlin.kapt3.base.incremental.JavaClassCacheManager.updateCache(cache.kt:22)
at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:87)
at org.jetbrains.kotlin.kapt3.base.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:35)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:230)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:188)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:99)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:96)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:106)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:81)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:555)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.invoke(KotlinToJVMBytecodeCompiler.kt:82)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:107)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:546)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:177)
... 23 more
যা আর। জাভা লিঙ্ক
আমি titleMargins
আমার প্রকল্পের কোথাও ব্যবহার করি নি । যখন আমি একটি অনুসন্ধান করি, @Deprecated
মানগুলি কেবলমাত্র com.google.android.material
অন্তর্ভুক্ত থাকা অ্যান্ড্রয়েড এসডিকে এবং শিল্পকলাগুলিতে প্রদর্শিত হয় .gradle/caches/
। আমি এই ফোল্ডারটি মোছার চেষ্টা করেছি এবং এটি প্রতিটি সংকলনের সাথে আবার প্রদর্শিত হবে।
আমি মনে করি এটি ডেটাবাইন্ডিংয়ের সাথে কিছু করার আছে তবে আমি বেশ কয়েকদিন ধরে এটি করেছি এবং কারণ খুঁজে পেতে অক্ষম।
সেই নির্দিষ্ট টিকা প্রসেসরের ফাইলের উত্স আমি এখানে পেয়েছি: প্রসেসডাটাবাইন্ডিং। জাভা
আপডেট 1
রিয়েলটিটির অফ অ্যান্ড্রয়েডএক্সে স্থানান্তরের এই দুর্দান্ত নিবন্ধটি ব্যাখ্যা করেছে যে অ্যান্ড্রয়েড এক্স এর জেটিফায়ার সরঞ্জামটি উত্পন্ন কোড পরিচালনা করে না । আমি অন্য সংশ্লিষ্ট তাই সমস্যা সঙ্গে তার আচরণ পোস্ট দেখেছি ButterKnife
, Dagger
ইত্যাদি, কিন্তু আমরা এর মধ্যে যে কোনো ব্যবহার করছেন না। আমরা বেশ কয়েকটি ডেটাবাইন্ডিং এবং সংকলিত গ্রন্থাগার ব্যবহার করছি, তবে আমি নিশ্চিত নই যে কোনটি খারাপ রেফারেন্সের উত্স is সুতরাং আমার প্রশ্নটি হল আমি কীভাবে এই উত্পন্ন কোডের উত্স খুঁজে পেতে এবং এটি ঠিক করব?
আপডেট 2
মূল প্রাক-অ্যান্ড্রয়েডএক্স প্রকল্পে ফিরে যাওয়া, এই ত্রুটিটিটি সমর্থন লাইব্রেরিটি 28-তে উন্নীত করার সময় ঘটে Just
implementation "com.android.support:appcompat-v7:27.1.1"
প্রতি
implementation "com.android.support:appcompat-v7:28.0.0"
সংকলন ত্রুটি ট্রিগার করবে।
ক্রমবস অনুসরণ করার পরে আমি এই ইস্যুটির ট্র্যাকারটি দেখতে পেলাম : ডেটাবাইন্ডিং ভি 2 ত্রুটি তৈরি করে যখন অন্য একটি টীকা প্রসেসর সম্পর্কিত হতে পারে যা সম্পর্কিত হতে পারে তবে আমি কীভাবে এটি ঠিক করব তা এখনও নিশ্চিত নই।
Deprecated
আর.জাবায় কি আমদানির বিবৃতি আছে ?