>source

IntelliJ IDEA를 사용하여 RecyclerView 샘플 을 만들려고합니다. 오류 :

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 플랫폼이있었습니다. 미사용을 제거했습니다.

이제 성공적으로 빌드되었지만 처음에는 크래쉬 가되었습니다.

스택 트레이스 :

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

여기 에 설명 된대로 수정했습니다. . 매력처럼 작동합니다.

  • 답변 # 1

    프로젝트를 성공적으로 빌드 할 수 있으면 프로젝트로 이동하여 .idea라는 디렉토리를 삭제하고 .iml 파일을 삭제하십시오. 파일>새로 작성>기존 소스의 프로젝트로 이동하여 Idea에서 프로젝트를 다시 가져 오십시오. 문제를 해결하는 데 도움이 되길 바랍니다.

  • 답변 # 2

    호환성 문제였습니다.

    IntelliJ 프로젝트에서 사용하지 않는 JDK 및 SDK를 제거하고 클래스 버전 및 호출을 업데이트하면 문제의 첫 부분이 해결되었습니다.

    제대로 작동하려면 프로젝트 build.gradle에 JDK와 SDK 만 지정해야합니다.

    또한 getContext() 와의 호환성 오류가있었습니다 . 여기에 설명 된대로 수정했습니다.

    여기서 코드 변경과 함께 제출 된 끌어 오기 요청

관련 자료

  • 이전 팬더 gropuby [[ 'col_name', '다른 데이터 프레임의 값']]
  • 다음 mocking - mock TIME_12_24 안드로이드 시스템 설정