【发布时间】:2019-07-27 16:51:42
【问题描述】:
我正在尝试使用 IntelliJ IDEA 构建RecyclerView sample,但它给了我这个错误:
Could not initialize class com.android.sdklib.repository.AndroidSdkHandler
有两个类似的问题(1、2),都建议将 JAVA_HOME 设置为 Java 8。就我而言,这没有帮助。
JAVA_HOME 设置为 C:..\jdk1.8.0_181\
C:..\javapath\ 中的符号链接指向对应的 *.exe 文件。
SDK 设置为 1.8
UPD
在 build.gradle 模块中将 minSDKVersion 更新为 17,Java 版本更新为 8。
项目设置中有多个 JDK 和 Android API 平台。删除未使用。
现在它已成功构建,但在开始时 crashes。
堆栈跟踪:
07-28 06:16:11.994 7337-7337/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.android.recyclerview, PID: 7337
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.android.recyclerview/com.example.android.recyclerview.MainActivity}: java.lang.ClassCastException: android.support.v7.widget.TintContextWrapper cannot be cast to android.app.Activity
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassCastException: android.support.v7.widget.TintContextWrapper cannot be cast to android.app.Activity
at com.example.android.common.logger.LogView.println(LogView.java:95)
at com.example.android.common.logger.MessageOnlyLogFilter.println(MessageOnlyLogFilter.java:42)
at com.example.android.common.logger.LogWrapper.println(LogWrapper.java:72)
at com.example.android.common.logger.Log.println(Log.java:66)
at com.example.android.common.logger.Log.i(Log.java:136)
at com.example.android.common.logger.Log.i(Log.java:146)
at com.example.android.recyclerview.MainActivity.initializeLogging(MainActivity.java:108)
at com.example.android.common.activities.SampleActivityBase.onStart(SampleActivityBase.java:40)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1171)
at android.app.Activity.performStart(Activity.java:5241)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2168)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
at android.app.ActivityThread.access$800(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
UPD 2
如here 所述已修复该问题。像魅力一样工作。
【问题讨论】:
-
使用命令提示符构建并检查错误。
-
检查指定的 sdk 和 jdk 路径是否正确。
-
@Sambit 我从 cmd 运行 'gradlew build' 并成功构建
-
@KirillSmirnov 附加堆栈跟踪。
标签: java android android-studio gradle intellij-idea