2011-08-23 3 views
2

조금만 검색했지만 예외에 대한 모든 대답은 잘못된 글꼴을로드하는 사람들과 관련이 있습니다.Android 벌집에서 TrueType을로드하지 못했습니다.

그러나 트루 타입 글꼴을로드하려고합니다. 테스트를 거친 대부분의 장치에서 작동합니다. 그러나 실행 탭 10.1에로드 할 때 안드로이드 3.1 EEEPad 나는 다음과 같은 예외가 3.2을 실행 :

Caused by: java.lang.RuntimeException: native typeface cannot be made 

전체 스택 추적 :

java.lang.RuntimeException: Unable to start activity ComponentInfo{se.healthyheroes.android.app/se.healthyheroes.android.app.LoginActivity}: java.lang.RuntimeException: native typeface cannot be made 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831) 
    at android.app.ActivityThread.access$500(ActivityThread.java:122) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:132) 
    at android.app.ActivityThread.main(ActivityThread.java:4123) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:491) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.RuntimeException: native typeface cannot be made 
    at android.graphics.Typeface.<init>(Typeface.java:147) 
    at android.graphics.Typeface.createFromAsset(Typeface.java:121) 
    at se.healthyheroes.android.app.LoginActivity.initViews(LoginActivity.java:154) 
    at se.healthyheroes.android.app.LoginActivity.onCreate(LoginActivity.java:94) 
    at android.app.Activity.performCreate(Activity.java:4397) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779) 
    ... 11 more 
java.lang.RuntimeException: native typeface cannot be made 
    at android.graphics.Typeface.<init>(Typeface.java:147) 
    at android.graphics.Typeface.createFromAsset(Typeface.java:121) 
    at se.healthyheroes.android.app.LoginActivity.initViews(LoginActivity.java:154) 
    at se.healthyheroes.android.app.LoginActivity.onCreate(LoginActivity.java:94) 
    at android.app.Activity.performCreate(Activity.java:4397) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831) 
    at android.app.ActivityThread.access$500(ActivityThread.java:122) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:132) 
    at android.app.ActivityThread.main(ActivityThread.java:4123) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:491) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599) 
    at dalvik.system.NativeStart.main(Native Method) 

당신은 LoginActivity에 라인 (154)에 대해 궁금 할 것이다 . 라인이 하나입니다

Typeface tf =(Typeface.createFromAsset(getAssets(), "fonts/style_5784.ttf")); 

글꼴은 이클립스에서 내 프로젝트에서 "자산/글꼴/style_5784.ttf"에 있습니다. 정말 이상한 점은 벌집을 제외한 다른 모든 장치에서 작동한다는 것입니다.

예외를 유발할 수있는 아이디어가 누구에게 있습니까? 글꼴이 손상되었거나 파일 이름처럼 단순한 것이있을 수 있습니까? 주변을 검색하여 이해할 수 있었던 유일한 점은 어떻게 든 깨진 글꼴 일 수 있다는 것입니다.

+0

이 부분은 내 부분에 관한 것이므로 여기에 대한 의견입니다. 글꼴을 OTF 형식으로 변환 한 다음로드하려고 시도 했습니까? Android에 OTF 글꼴 만로드했습니다. 자주 묻는 질문에 설명 된대로 Fontforge를 사용할 수 있습니다. http://fontforge.sourceforge.net/faq.html –

+0

@AsimIhsan 적어도 시도해 보겠습니다. –

답변

0

이 오류를 자세히 살펴보면 오류가 글꼴 이름으로 인해 발생하지 않는 것처럼 보입니다. Honeycomb에서 변경 될 가능성이 가장 높고 스택 추적을 통해 디버깅 할 수없는 원시 코드 내부에서 오류가 발생합니다.

출처가 공개 될 때까지는 오류를 더 이상 볼 수 없습니다.

+0

예. 그 글꼴을 건너 뛴 채로 끝났습니다. –

관련 문제