简体   繁体   English

Android Studio Gradle无法构建示例应用

[英]Android Studio Gradle doesn't build sample app

I am trying to build a RecyclerView sample with IntelliJ IDEA, but it gives me this error: 我正在尝试使用IntelliJ IDEA构建RecyclerView示例 ,但是它给了我这个错误:

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

There are two similar questions ( 1 , 2 ), both of which recommend to set JAVA_HOME to Java 8. In my case, this doesn't help. 有两个类似的问题( 12 ),这两个建议JAVA_HOME设置为Java 8.在我而言,这并不能帮助。

JAVA_HOME set to C:..\\jdk1.8.0_181\\ JAVA_HOME设置为C:.. \\ jdk1.8.0_181 \\
Symlinks in C:..\\javapath\\ lead to corresponding *.exe files. C:.. \\ javapath \\中的符号链接指向相应的* .exe文件。
SDK set to 1.8 SDK设置为1.8

UPD UPD

Updated minSDKVersion to 17 and Java version to 8 in module build.gradle. 在build.gradle模块中将minSDKVersion更新为17,将Java版本更新为8。

There was several JDK and Android API Platforms in project settings. 项目设置中有多个JDK和Android API平台。 Removed unused. 删除未使用的。

Now it builds succesfully, but crashes on the start. 现在它可以成功构建,但是一开始就会崩溃

Stacktrace: 堆栈跟踪:

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 UPD 2

Fixed that as described here . 修复了此处所述的问题 Works like a charm. 奇迹般有效。

If you are able to build the project successfully, go to the project, delete the directory called .idea, delete the file .iml. 如果能够成功构建项目,请转到该项目,删除名为.idea的目录,然后删除文件.iml。 Reimport the project in Idea by going to the File > New > Project from Existing Sources. 通过转到文件>新建>来自现有源的项目,在Idea中重新导入项目。 Hope it will help you to solve the issue. 希望它能帮助您解决问题。

That was the compatability problem. 那就是兼容性问题。

Removing unused JDK and SDK from IntelliJ project and updating classes versions and calls solved the first part of the problem. 从IntelliJ项目中删除未使用的JDK和SDK并更新类版本和调用解决了问题的第一部分。

To work correctly the project must have only JDK and SDK specified in module build.gradle. 为了正常工作,项目必须在build.gradle模块中仅指定JDK和SDK。

Also there was compatability error with getContext() . getContext()也存在兼容性错误。 Fixed that as described here . 修复了此处所述的问题

Submitted pull request with code changes here . 在此处提交了带有代码更改的请求请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 Comparator 类时,Android Studio Gradle 不构建我的应用程序? - Android Studio Gradle doesn't build my app when using Comparator class? 如何修复 gradle 中无法在 Android Studio 中构建应用程序的错误? - How to fix error in gradle that won't build app in Android Studio? Gradle 在 Android Studio 中不同步 - Gradle doesn't sync in Android Studio 无法使用Gradle构建Android应用程序 - Can't build Android App with Gradle 在从 Eclipse 导入的 Android Studio 项目中找不到 build.gradle (Module app) - Can't find build.gradle (Module app) in Android Studio project imported from Eclipse 生成错误:程序包android.app不存在-编译器认为未安装android SDK? (Android Studio 1.0) - Build error: package android.app doesn't exist - build thinks android SDK isn't installed? (Android studio 1.0) Android Studio 4.2 doesn't recognize any syntax in KotlinScript Gradle build.gradle.kts, even though 4.1.3 works fine with Gradle 7.0 - Android Studio 4.2 doesn’t recognize any syntax in KotlinScript Gradle build.gradle.kts, even though 4.1.3 works fine with Gradle 7.0 Android Studio 2.1.1中的Gradle构建失败:“ app:compileDebugJavaWithJavac”(错误的路径) - Gradle Build failed in Android Studio 2.1.1 : 'app:compileDebugJavaWithJavac' (wrong path) 应用程序崩溃是因为build.gradle Android Studio中出现错误 - App crashes because an error in build.gradle Android Studio Android Studio:Gradle构建问题/“ R无法解决” - Android Studio: Gradle Build Problems/“R can't be resolved”
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM