【问题标题】:Android Studio Gradle doesn't build sample appAndroid Studio Gradle 不构建示例应用程序
【发布时间】:2019-07-27 16:51:42
【问题描述】:

我正在尝试使用 IntelliJ IDEA 构建RecyclerView sample,但它给了我这个错误:

Could not initialize class com.android.sdklib.repository.AndroidSdkHandler

有两个类似的问题(12),都建议将 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


【解决方案1】:

如果你能够成功构建项目,进入项目,删除名为.idea的目录,删除文件.iml。通过转到 File > New > Project from Existing Sources 重新导入 Idea 中的项目。希望它能帮助您解决问题。

【讨论】:

    【解决方案2】:

    那是兼容性问题。

    从 IntelliJ 项目中删除未使用的 JDK 和 SDK 并更新类版本和调用解决了问题的第一部分。

    要正常工作,项目必须仅在模块 build.gradle 中指定 JDK 和 SDK。

    还有与getContext() 的兼容性错误。如here 所述修复了该问题。

    提交带有代码更改的拉取请求here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 1970-01-01
      • 2016-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-18
      相关资源
      最近更新 更多