2014-10-24 5 views
0

저는 이클립스에서 라이브 벽지 응용 프로그램의 소스를 방금 열었습니다. 그것은 CM11 소스에 포함 된 벽지, 그래서 이클립스에서 나는 다음과 같은 수입에서 "가져 오기가 해결 될 수 없습니다"오류가 발생하지만, 그것을 잘 컴파일해야합니다 알고Renderscript는 라이브 벽지를 발행합니다. Android

import android.renderscript.RenderScriptGL; 
import android.renderscript.ProgramStore.*; 

마지막 수입 ISN을 문자 그대로, *는 BlendDstFunc, BlendSrcFunc 또는 DepthFunc이지만 오류는 선언의 ProgramStore 부분에 관한 것입니다. 다른 모든 android.renderscript includes는 API 레벨 20을 사용하여 빌드하도록 enivironment를 설정 했으므로 잘 인식됩니다.이 함수는 더 이상 사용되지 않지만 어쨌든 이러한 오류는 아니라는 경고를 받겠습니다. RenderScriptGL.java와 ProgramStore.java 파일을 sdk의/android/renderscript 폴더에 모두 볼 수 있으며 renderscript에 대한 다른 모든 가져 오기가 정상적으로 작동합니다. 무슨 일 이니? 비추천 클래스 인 경우 대안은 무엇입니까? 미리 감사드립니다!

답변

0

ProgramStore는 @hide로 표시되어 공개 API가 아니며 공개 된 적이 없습니다. RenderScriptGL은 언급 한대로 사용되지 않지만 여전히 작동합니다.

+0

답장을 보내 주셔서 감사합니다. RenderScriptGL에도 비추천 속성 외에 숨김 속성이 있습니다. 이것은 이러한 클래스에서 사용되는 함수에 대해 Java 리플렉션을 사용하기 위해 전체 프로젝트를 다시 작성해야한다는 것을 의미합니까, 아니면이 클래스에 액세스하는 더 쉬운 방법이 있습니까? – SubliemeSiem

+0

필요할 때 RenderScriptGL을 사용하여 새 프로젝트를 시작하지 마십시오. 이전 SDK 수준을 타겟팅하는 경우 리플렉션을 사용할 필요가 없지만 Android L 이상을 타겟팅하려는 경우 리플렉션을 사용하여 숨겨진 모든 클래스/메소드에 액세스해야합니다. –

+0

그건 문제 야. 새 프로젝트가 아니야, 내가 편집하고 싶은 CM11 소스의 일부인 앱이야. 그래서 RenderScriptGL은 이미 소스의 일부이며 단지 그것을 컴파일 할 수 있기를 원합니다. 답장을 보내 주셔서 감사합니다. 훌륭한 도움을 주셨습니다! – SubliemeSiem