마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

java.lang.ExceptionInInitializerError 이 오류좀 알려주세요...개발자님들 도와주세요

0 추천

FATAL EXCEPTION: main
/com.navionics.demo3d E/AndroidRuntime: java.lang.ExceptionInInitializerError
com.navionics.demo3d E/AndroidRuntime:     at com.navionics.demo3d.ChartActivity.onCreate(ChartActivity.java:116)
com.navionics.demo3d E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5326)
com.navionics.demo3d E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
11-19 10:53:18.446 12986-12986/com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218)
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309)
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread.access$700(ActivityThread.java:157)
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
com.navionics.demo3d E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99)
com.navionics.demo3d E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:176)
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5319)
11-19 10:53:18.446 12986-12986/com.navionics.demo3d E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method)
com.navionics.demo3d E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511)
com.navionics.demo3d E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
com.navionics.demo3d E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
com.navionics.demo3d E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method)
com.navionics.demo3d E/AndroidRuntime:  Caused by: java.lang.UnsatisfiedLinkError: Couldn't load navnative3D from loader dalvik.system.PathClassLoader[dexPath=/data/app/com.navionics.demo3d-1.apk,libraryPath=/data/app-lib/com.navionics.demo3d-1]: findLibrary returned null
com.navionics.demo3d E/AndroidRuntime:     at java.lang.Runtime.loadLibrary(Runtime.java:365)
com.navionics.demo3d E/AndroidRuntime:     at java.lang.System.loadLibrary(System.java:535)
com.navionics.demo3d E/AndroidRuntime:     at navionics.NavLibManager.<clinit>(NavLibManager.java:89)
com.navionics.demo3d E/AndroidRuntime:     at com.navionics.demo3d.ChartActivity.onCreate(ChartActivity.java:116) 
com.navionics.demo3d E/AndroidRuntime:     at android.app.Activity.performCreate(Activity.java:5326) 
com.navionics.demo3d E/AndroidRuntime:     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218) 
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309) 
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread.access$700(ActivityThread.java:157) 
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289) 
com.navionics.demo3d E/AndroidRuntime:     at android.os.Handler.dispatchMessage(Handler.java:99) 
com.navionics.demo3d E/AndroidRuntime:     at android.os.Looper.loop(Looper.java:176) 
com.navionics.demo3d E/AndroidRuntime:     at android.app.ActivityThread.main(ActivityThread.java:5319) 
com.navionics.demo3d E/AndroidRuntime:     at java.lang.reflect.Method.invokeNative(Native Method) 
com.navionics.demo3d E/AndroidRuntime:     at java.lang.reflect.Method.invoke(Method.java:511) 
com.navionics.demo3d E/AndroidRuntime:     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
com.navionics.demo3d E/AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
com.navionics.demo3d E/AndroidRuntime:     at dalvik.system.NativeStart.main(Native Method) 

chartActivity

package com.navionics.demo3d;
import java.io.File;
import java.util.Vector;
import navionics.EVisualMode;
import navionics.NavChartCatalog;
import navionics.NavDataSource;
import navionics.NavDataSource.EDataSourceType;
import navionics.NavLibManager;
import navionics.NavMapWidget;
import navionics.NavObject;
import navionics.NavWidgetCallback;
import android.annotation.SuppressLint;

public class ChartActivity extends Activity {
   public static final String EXTRA_OBJECT_LIST = "com.navionics.demo3d.OBJECT_LIST";
   private static final String APPLICATION_FOLDER_PLANI = "WorldMap_4.0";
   private static final double DEFAULT_ALTITUDE = 1300000;
   private static final String ALL_ZERO_KEY = "00000000000000000000";
   private static final String SD_KEY = "0353445355313647802207ABD600DAC5";
   private static final short WHITE_COLOR = -1; // 0xffff white color
   private static final float PICK_ANGLE = 50;

   private static final double MIN_HEIGHT = 100;
    private static final double MAX_HEIGHT_3D = 100000;
// private static final double MAX_HEIGHT_2D = 4000000.0;

   private LongPressureGestureDetector longPressureGestureDetector;
   private ScaleGestureDetector scaleGestureDetector;
   private GestureDetector panGestureDetector;
   private boolean firstTouchEvent = true;
   private LocationListener locationListener = null;

   private NavMapWidget mapWidget;
   private GeoPosition3D position = null;
   private GeoPosition3D cameraPosition = null;
   private GpsGeoPosition gpsPosition = null;
   private boolean updatePositionWithCamera = false;
   private boolean updateAltitudeWithCamera = false;
   private Bitmap defaultGpsFixIcon;
   private Bitmap defaultGpsNoFixIcon;
   private boolean courseAHead = false;
   private boolean autoAssigedPosition = false;
   private boolean positionMoved = false;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      String resPath = (Environment
            .getExternalStoragePublicDirectory("NavionicsRes"))
            .getAbsolutePath();
      NavLibManager.setResourcePath(resPath+"/");
      mapWidget = new NavMapWidget(new NavWidgetCallback() {


빨강색 부분이 오류라는데 왜그렇죠..?
문어야 (300 포인트) 님이 2015년 11월 19일 질문

1개의 답변

+1 추천
 
채택된 답변

NavLibManager 라는 놈이 아마도 Runtime.loadLibrary 라는 놈을 불러오는 용도인거 같네요?

라이브러리 파일을 동적으로 읽을때 jar 파일은 하나로 씁니다. 하지만 연관된 so 파일의 경우

libs/armebi 폴더하위에 들어가게 되는데 CPU 별로 나뉘어진 so 폴더가 하나라도 있는 경우 

CPU 가 다르게 되면 인식하지 못합니다. drawable 같은 리소스의 경우 하나만 넣어두 다른모든 

기기에서 인식하지만 라이브러리는 한번 나뉘어지기 시작하면 전부 나뉘어야 정상적으로 동작합니다.

라쎄린드 (25,460 포인트) 님이 2015년 11월 19일 답변
문어야님이 2015년 11월 19일 채택됨
...