ArcGIS は初めてですが、Android は初めてではありません。私は Android 開発者です。最近のプロジェクトの 1 つとして、ArcGIS モジュール/サンプルを調べています。次の手順を実行しました。
- インストール済みの Eclipse JUNO (最新) - 以前のバージョンが破損したため、システムを交換する必要がありました。
- Android 10.1.1 用の ArcGIS ランタイム SDK をダウンロードしました。
- 手順 2 で取得したダウンロードした zip ファイルから ArcGIS プラグインをインストールしました。
- Eclipse/システムを再起動しました。
基本的な "Hello World" ArcGIS アプリを探索するために、次の手順を実行しました。
- ファイル - 新規 - プロジェクト - 新しいウィンドウで - [ArcGIS for Android] オプションを選択します。
- 2 つのオプションから、「Android 用の ArcGIS サンプル」を選択しました。このオプションは、ローカルまたはオンラインからサンプルを取得するための別のウィンドウを開きました。
- 「ローカル」を選択しました。
- 「マップ」セクションで、「Hello World」サンプル プロジェクトを選択しました。
- これで、Hello World プロジェクトがワークスペースに追加されました。
- プロジェクトをクリーンアップしてビルドします。すべてのエラーがなくなりました。
- プロジェクトを実行します。
次のエラー ログを取得しています。
06-26 16:36:15.678: E/AndroidRuntime(2672): FATAL EXCEPTION: main
06-26 16:36:15.678: E/AndroidRuntime(2672): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.esri.arcgis.android.samples.helloworld/com.esri.arcgis.android.samples.helloworld.HelloWorld}: android.view.InflateException: Binary XML file line #9: Error inflating class com.esri.android.map.MapView
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.ActivityThread.access$600(ActivityThread.java:130)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.os.Handler.dispatchMessage(Handler.java:99)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.os.Looper.loop(Looper.java:137)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.ActivityThread.main(ActivityThread.java:4745)
06-26 16:36:15.678: E/AndroidRuntime(2672): at java.lang.reflect.Method.invokeNative(Native Method)
06-26 16:36:15.678: E/AndroidRuntime(2672): at java.lang.reflect.Method.invoke(Method.java:511)
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
06-26 16:36:15.678: E/AndroidRuntime(2672): at dalvik.system.NativeStart.main(Native Method)
06-26 16:36:15.678: E/AndroidRuntime(2672): Caused by: android.view.InflateException: Binary XML file line #9: Error inflating class com.esri.android.map.MapView
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.view.LayoutInflater.createView(LayoutInflater.java:613)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:687)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.view.LayoutInflater.inflate(LayoutInflater.java:352)
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:256)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.Activity.setContentView(Activity.java:1867)
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.esri.arcgis.android.samples.helloworld.HelloWorld.onCreate(HelloWorld.java:42)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.Activity.performCreate(Activity.java:5008)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023)
06-26 16:36:15.678: E/AndroidRuntime(2672): ... 11 more
06-26 16:36:15.678: E/AndroidRuntime(2672): Caused by: java.lang.reflect.InvocationTargetException
06-26 16:36:15.678: E/AndroidRuntime(2672): at java.lang.reflect.Constructor.constructNative(Native Method)
06-26 16:36:15.678: E/AndroidRuntime(2672): at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
06-26 16:36:15.678: E/AndroidRuntime(2672): at android.view.LayoutInflater.createView(LayoutInflater.java:587)
06-26 16:36:15.678: E/AndroidRuntime(2672): ... 22 more
06-26 16:36:15.678: E/AndroidRuntime(2672): Caused by: java.lang.ExceptionInInitializerError
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.esri.android.map.MapView.a(Unknown Source)
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.esri.android.map.MapView.<init>(Unknown Source)
06-26 16:36:15.678: E/AndroidRuntime(2672): ... 25 more
06-26 16:36:15.678: E/AndroidRuntime(2672): Caused by: java.lang.UnsatisfiedLinkError: Couldn't load runtimecore_java: findLibrary returned null
06-26 16:36:15.678: E/AndroidRuntime(2672): at java.lang.Runtime.loadLibrary(Runtime.java:365)
06-26 16:36:15.678: E/AndroidRuntime(2672): at java.lang.System.loadLibrary(System.java:535)
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.esri.core.internal.util.e$1.initialize(Unknown Source)
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.esri.android.io.a.a(Unknown Source)
06-26 16:36:15.678: E/AndroidRuntime(2672): at com.esri.android.map.MapSurface.<clinit>(Unknown Source)
06-26 16:36:15.678: E/AndroidRuntime(2672): ... 27 more
その後、ArcGIS フォーラムをたどる と、多くのリンクに出くわしました 。 -ワールドラン ですが、残念ながらエラーは解消されませんでした。
Android プロジェクトの 1 つで同様の問題が発生しました。armeabi および armeabi-v7a の .so ファイルを含む libs フォルダーがありました。プロジェクトをライブラリに変換し、別のプロジェクトの 1 つとして使用しました。小さなプロジェクトだったので、変換されたライブラリ プロジェクトを調べる必要はありませんでした。これは、Eclipse の更新に関連する .so ファイルまたはライブラリ ファイルの参照によるものです。「未解決のリンク」エラーが発生しないように、ビルド パスに .so ファイルを構成する方法がまだわかりません。
このプロジェクトのビルド パスについては、添付のスクリーンショットを参照してください。