7

我是 android 开发新手 :)

我正在尝试创建一个简单的应用程序:一个带有地图的活动。我将 HTC 1x 连接到计算机,当我尝试运行应用程序(通过 intellij IDEA)时,它崩溃了。

我已经在网络(和stackoverflow)中搜索了线索,但找不到任何线索。例如:
 - Google Maps v2 - 错误
 - google map - runtimeexception - 错误膨胀类片段

你能告诉我为什么吗??

谢谢,

奥马尔



技术细节:

HTC 1x 运行安卓 4.1.1
项目外部库:
 - Android 4.0 Google API 的
 - Android-Support-V4.jar
 - 谷歌播放服务.jar



主要活动.xml:

<?xml 版本="1.0" 编码="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent" >
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/map"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:name="com.google.android.gms.maps.SupportMapFragment"/>
</线性布局>



主要活动.Java

包 com.example.mapTest;

导入android.os.Bundle;
导入android.support.v4.app.FragmentActivity;

公共类 MainActivity 扩展 FragmentActivity {
    /**
     * 在第一次创建活动时调用。
     */
    @覆盖
    公共无效 onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.mainActivity);
    }
}



清单.xml

<?xml 版本="1.0" 编码="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          包="com.example.mapTest"
          安卓:版本代码=“1”
          android:versionName="1.0">

    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="14" />

    <使用功能
            安卓:glEsVersion="0x00020000"
            android:required="true"/>

    <权限
            android:name="com.example.mapTest.permission.MAPS_RECEIVE"
            android:protectionLevel="签名"/>
    <uses-permission android:name="com.example.mapTest.permission.MAPS_RECEIVE"/>

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

    <应用程序 android:label="@string/app_name" android:icon="@drawable/ic_launcher">

        <元数据
                android:name="com.google.android.maps.v2.API_KEY"
                android:value="AIzaSyAEHaDozQSyWTXl77MpGp6Wtvd5RyteV8Q"/>

        <activity android:name="MainActivity"
                  android:label="@string/app_name">
            <意图过滤器>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </活动>
    </应用>
</清单>



例外:

03-19 00:09:30.325: 错误/NotificationService(434): 忽略图标通知==0: 通知(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null])
03-19 00:09:41.430: 错误/MediaScannerService(13421): 异常扫描文件
        android.os.DeadObjectException
        在 android.os.BinderProxy.transact(本机方法)
        在 android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100)
        在 com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007)
        在 android.os.Handler.dispatchMessage(Handler.java:99)
        在 android.os.Looper.loop(Looper.java:155)
        在 com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713)
        在 java.lang.Thread.run(Thread.java:864)
03-19 00:09:48.655: 错误/ExternalAccountType(31657): 不支持的属性只读
03-19 00:09:48.900: 错误/ExternalAccountType(31657): 不支持的属性只读
03-19 00:09:51.965: 错误/EmbeddedLogger(434): 应用程序崩溃了!进程:com.example.mapTest
03-19 00:09:51.965: 错误/EmbeddedLogger(434): 应用程序崩溃了!包:com.example.mapTest v1 (1.0)
03-19 00:09:51.965:错误/嵌入式记录器(434):应用程序标签:mapTest
03-19 00:09:51.965:错误/AndroidRuntime(22403):致命异常:主要
        java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
        在 com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(未知来源)
        在 com.google.android.gms.maps.SupportMapFragment.onInflate(未知来源)
        在 android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279)
        在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
        在 android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
        在 android.view.LayoutInflater.inflate(LayoutInflater.java:489)
        在 android.view.LayoutInflater.inflate(LayoutInflater.java:396)
        在 android.view.LayoutInflater.inflate(LayoutInflater.java:352)
        在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:365)
        在 android.app.Activity.setContentView(Activity.java:1912)
        在 com.example.mapTest.MainActivity.onCreate(MainActivity.java:13)
        在 android.app.Activity.performCreate(Activity.java:5066)
        在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101)
        在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
        在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
        在 android.app.ActivityThread.access$600(ActivityThread.java:151)
        在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
        在 android.os.Handler.dispatchMessage(Handler.java:99)
        在 android.os.Looper.loop(Looper.java:155)
        在 android.app.ActivityThread.main(ActivityThread.java:5485)
        在 java.lang.reflect.Method.invokeNative(Native Method)
        在 java.lang.reflect.Method.invoke(Method.java:511)
        在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
        在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)
        在 dalvik.system.NativeStart.main(本机方法)
03-19 00:09:53.785: 错误/MediaScannerService(13421): 异常扫描文件
        android.os.DeadObjectException
        在 android.os.BinderProxy.transact(本机方法)
        在 android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100)
        在 com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007)
        在 android.os.Handler.dispatchMessage(Handler.java:99)
        在 android.os.Looper.loop(Looper.java:155)
        在 com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713)
        在 java.lang.Thread.run(Thread.java:864)
03-19 00:09:54.365: 错误/NotificationService(434): 忽略通知图标==0: 通知(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null])
03-19 00:10:03.075: 错误/ExternalAccountType(31657): 不支持的属性只读
03-19 00:10:03.380: 错误/NotificationService(434): 忽略通知图标==0: 通知(pri=0 contentView=null vibrate=null sound=nullnull defaults=0x0 flags=0x62 kind=[null])
03-19 00:10:03.960: 错误/ExternalAccountType(31657): 不支持的属性只读
03-19 00:10:08.200: 错误/MediaScannerService(13421): 异常扫描文件
        android.os.DeadObjectException
        在 android.os.BinderProxy.transact(本机方法)
        在 android.media.IMediaScannerListener$Stub$Proxy.scanCompleted(IMediaScannerListener.java:100)
        在 com.android.providers.media.MediaScannerService$ServiceHandler.handleMessage(MediaScannerService.java:1007)
        在 android.os.Handler.dispatchMessage(Handler.java:99)
        在 android.os.Looper.loop(Looper.java:155)
        在 com.android.providers.media.MediaScannerService.run(MediaScannerService.java:713)
        在 java.lang.Thread.run(Thread.java:864)
03-19 00:10:10.270:错误/AndroidRuntime(23231):致命异常:主要
        java.lang.NoClassDefFoundError: com.google.android.gms.R$styleable
        在 com.google.android.gms.maps.GoogleMapOptions.createFromAttributes(未知来源)
        在 com.google.android.gms.maps.SupportMapFragment.onInflate(未知来源)
        在 android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:279)
        在 android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:676)
        在 android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
        在 android.view.LayoutInflater.inflate(LayoutInflater.java:489)
        在 android.view.LayoutInflater.inflate(LayoutInflater.java:396)
        在 android.view.LayoutInflater.inflate(LayoutInflater.java:352)
        在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:365)
        在 android.app.Activity.setContentView(Activity.java:1912)
        在 com.example.mapTest.MainActivity.onCreate(MainActivity.java:13)
        在 android.app.Activity.performCreate(Activity.java:5066)
        在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1101)
        在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2307)
        在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
        在 android.app.ActivityThread.access$600(ActivityThread.java:151)
        在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1331)
        在 android.os.Handler.dispatchMessage(Handler.java:99)
        在 android.os.Looper.loop(Looper.java:155)
        在 android.app.ActivityThread.main(ActivityThread.java:5485)
        在 java.lang.reflect.Method.invokeNative(Native Method)
        在 java.lang.reflect.Method.invoke(Method.java:511)
        在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
        在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795)
        在 dalvik.system.NativeStart.main(本机方法)
03-19 00:10:10.285:错误/EmbeddedLogger(434):应用程序崩溃!进程:com.example.mapTest
03-19 00:10:10.285:错误/EmbeddedLogger(434):应用程序崩溃!包:com.example.mapTest v1 (1.0)
03-19 00:10:10.285:错误/嵌入式记录器(434):应用程序标签:mapTest
4

1 回答 1

1

Have you included the Google Play Services library in your project? Without it, critical resources are unavailable. See question: java.lang.noclassdeffounderror: com.google.android.gms.R$styleable for more detail.

于 2013-03-18T22:29:12.977 回答