web-dev-qa-db-ja.com

Android.gms.maps.MapFragmentをインスタンス化できません

GoogleマップAndroid v2を使用して、Googleページからコードをコピーするだけでデモを実行しようとしています: https://developers.google.com/maps/documentation/Android/start #adding_the_api_key_to_your_application

アクティビティ用:

package com.example.mapdemo;

import Android.app.Activity;
import Android.os.Bundle;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

レイアウト用:

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:Android="http://schemas.Android.com/apk/res/Android"
  Android:id="@+id/map"
  Android:layout_width="match_parent"
  Android:layout_height="match_parent"
  class="com.google.Android.gms.maps.MapFragment"/>

次のように、ページに従ってAPIキーを申請し、androidmanifest.xmlファイルを変更しました。

<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.wenhai.driverschool"
    Android:versionCode="1"
    Android:versionName="1.0" >

    <uses-sdk
        Android:minSdkVersion="8"
        Android:targetSdkVersion="15" />

    <uses-permission Android:name="Android.permission.INTERNET" />

    <!-- add for map2 -->
    <permission
        Android:name="com.example.mapdemo.permission.MAPS_RECEIVE"
        Android:protectionLevel="signature" />

    <uses-permission Android:name="com.example.mapdemo.permission.MAPS_RECEIVE" />
    <uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES" />
    <!-- External storage for caching. -->
    <uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />

    <!-- Maps API needs OpenGL ES 2.0. -->
    <uses-feature
        Android:glEsVersion="0x00020000"
        Android:required="true" />

    <application
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >
        <meta-data
            Android:name="com.google.Android.maps.v2.API_KEY"
            Android:value="AIzaSyDVAF4WaVSVRDKJx87It8OSFP5txQcPabc" />

        <activity
            Android:name=".MainActivity"
            Android:label="@string/title_activity_main" >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

また、Eclipseでアプリをgoogle-play-services_libに参照します。

しかし、毎回、このようなlogcatのエラーレポート:

2-05 16:22:53.609: E/AndroidRuntime(21623): Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.wenhai.driverschool/com.wenhai.driverschool.MainActivity}: Android.view.InflateException: Binary XML file line #2: Error inflating class fragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1967)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:1992)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.access$600(ActivityThread.Java:127)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1158)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.os.Handler.dispatchMessage(Handler.Java:99)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.os.Looper.loop(Looper.Java:137)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.main(ActivityThread.Java:4441)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Java.lang.reflect.Method.invokeNative(Native Method)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Java.lang.reflect.Method.invoke(Method.Java:511)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:823)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:590)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at dalvik.system.NativeStart.main(Native Method)
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: Android.view.InflateException: Binary XML file line #2: Error inflating class fragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:697)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:466)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:352)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:255)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Activity.setContentView(Activity.Java:1835)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at com.wenhai.driverschool.MainActivity.onCreate(MainActivity.Java:11)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Activity.performCreate(Activity.Java:4465)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1049)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1931)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 11 more
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: Android.app.Fragment$InstantiationException: Unable to instantiate fragment com.google.Android.gms.maps.MapFragment: make sure class name exists, is public, and has an empty constructor that is public
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Fragment.instantiate(Fragment.Java:581)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Fragment.instantiate(Fragment.Java:549)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Activity.onCreateView(Activity.Java:4235)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:673)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 20 more
12-05 16:22:53.609: E/AndroidRuntime(21623): Caused by: Java.lang.ClassNotFoundException: com.google.Android.gms.maps.MapFragment
12-05 16:22:53.609: E/AndroidRuntime(21623):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.Java:61)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:501)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Java.lang.ClassLoader.loadClass(ClassLoader.Java:461)
12-05 16:22:53.609: E/AndroidRuntime(21623):    at Android.app.Fragment.instantiate(Fragment.Java:571)
12-05 16:22:53.609: E/AndroidRuntime(21623):    ... 23 more

この理由はわかりません。

プロジェクトにgoogle-play-services.jarを追加すると、別のエラーが報告されます:

12-05 16:34:23.269: E/AndroidRuntime(22638): FATAL EXCEPTION: main
12-05 16:34:23.269: E/AndroidRuntime(22638): Java.lang.NoClassDefFoundError: com.google.Android.gms.R$styleable
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.google.Android.gms.maps.GoogleMapOptions.createFromAttributes(Unknown Source)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.google.Android.gms.maps.MapFragment.onInflate(Unknown Source)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.Activity.onCreateView(Activity.Java:4242)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.view.LayoutInflater.createViewFromTag(LayoutInflater.Java:673)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:466)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:396)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.view.LayoutInflater.inflate(LayoutInflater.Java:352)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.Android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.Java:255)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.Activity.setContentView(Activity.Java:1835)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.wenhai.driverschool.MainActivity.onCreate(MainActivity.Java:11)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.Activity.performCreate(Activity.Java:4465)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1049)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1931)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:1992)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread.access$600(ActivityThread.Java:127)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1158)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.os.Handler.dispatchMessage(Handler.Java:99)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.os.Looper.loop(Looper.Java:137)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Android.app.ActivityThread.main(ActivityThread.Java:4441)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Java.lang.reflect.Method.invokeNative(Native Method)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at Java.lang.reflect.Method.invoke(Method.Java:511)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:823)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:590)
12-05 16:34:23.269: E/AndroidRuntime(22638):    at dalvik.system.NativeStart.main(Native Method)

誰でもこれについて私を助けることができますか?

81
mmm2006

IntelliJ IDEA(IntelliJ 12用に更新):

  1. ~/Android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/src/dummy.Javaを含むファイルclass dummy {}を作成します。
  2. ファイル->モジュールのインポート-> ~/Android-sdk/extras/google/google_play_services/libproject/google-play-services_lib
  3. 既存のソースからモジュールを作成
  4. 次->次->次->次->完了
  5. ファイル->プロジェクト構造->モジュール-> YourApp
  6. +->モジュールの依存関係-> Google-play-services_lib( + ボタンはダイアログの右上隅にあります。)
  7. +->瓶またはディレクトリ-> ~/Android-sdk/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar
  8. 使用 up/down <Module source>をリストの一番下に移動する矢印。

dummy.Javaは必要に応じて削除できます。

編集:これをしばらく使用した後、小さな欠陥/バグがあることがわかりました。 IDEAは、.imlディレクトリにあるgoogle-play-services_libプロジェクトファイルを開くことができないと文句を言うことがあります。その場合は、プロジェクトが再構築されると、少なくとも問題が解決するまで問題は解決します。

85
Timmmm

更新

Commonsware MapV2コードスニペットに従って、理解を深めてください。

(Omnibusエディションに存在します)

https://github.com/commonsguy/cw-omnibus/tree/master/MapsV2

次のスニペットは私の最後でうまく機能しています。SupportMapFragmentを使用することを選択します。

プロジェクトにgoogle-play-services.jarを追加することを忘れないでください。

MainActivity.Java

package com.example.newmapview;

import Android.os.Bundle;
import Android.support.v4.app.FragmentActivity;
import com.google.Android.gms.maps.SupportMapFragment;

public class MainActivity extends FragmentActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        SupportMapFragment fragment = new SupportMapFragment();
        getSupportFragmentManager().beginTransaction()
                .add(Android.R.id.content, fragment).commit();
    }
}

manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
    package="com.example.newmapview"
    Android:versionCode="1"
    Android:versionName="1.0" >

    <uses-sdk
        Android:minSdkVersion="8"
        Android:targetSdkVersion="16" />

    <permission
        Android:name="com.example.newmapview.permission.MAPS_RECEIVE"
        Android:protectionLevel="signature" />

    <uses-permission Android:name="com.example.newmapview.permission.MAPS_RECEIVE" />
    <uses-permission Android:name="Android.permission.INTERNET" />
    <uses-permission Android:name="Android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission Android:name="Android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission Android:name="Android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission Android:name="com.google.Android.providers.gsf.permission.READ_GSERVICES" />

    <application
        Android:allowBackup="true"
        Android:icon="@drawable/ic_launcher"
        Android:label="@string/app_name"
        Android:theme="@style/AppTheme" >
        <activity
            Android:name="com.example.newmapview.MainActivity"
            Android:label="@string/app_name" >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <meta-data
            Android:name="com.google.Android.maps.v2.API_KEY"
            Android:value="XXXXX" />
    </application>

    <uses-feature
        Android:glEsVersion="0x00020000"
        Android:required="true" />

</manifest>

結果はこちら

enter image description here これが役立つことを願っています。

33
Vipul Shah

レイアウトを次のように置き換えてみてください。

<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:Android="http://schemas.Android.com/apk/res/Android"
      Android:id="@+id/map"
       Android:name="com.google.Android.gms.maps.SupportMapFragment"
       Android:layout_width="wrap_content"
       Android:layout_height="match_parent" />

11未満のAPIにはSupportMapFragmentを使用する必要があります!

オーレル

23
Aurel

私は同じ問題に直面しました。私のために働いた解決策を見つけるのに2日かかりました:

  1. プロジェクトを削除しますgoogle-play-services_lib(プロジェクトの削除を右クリック)
  2. Googleマップデモを含むプロジェクト(私の場合はMainActivity)を削除します
  3. プロジェクトgoogle-play-services_lib(extras\google\google_play_services\libproject\google-play-services_lib)をワークスペースにコピーし、一般プロジェクトとしてインポートします(File-> import-> existing projects into workspase)
  4. プロジェクト(マップをロードする場所)を右クリックします-> Android->(ライブラリーの下に)google-play-services_libを追加します

次のようなものが表示されるはずです。

notice the

注:次のようなものは使用しないでください(プロジェクトはワークスペースから参照する必要があります)。

enter image description here

問題は、2つのプロジェクトが同じライブラリを参照していることだと思います

17
zizoujab

これを試して

http://developer.Android.com/tools/projects/projects-Eclipse.html#ReferencingLibraryProject

Googleサービスのプロジェクトを追加し、プロジェクトプロパティ-> Androidに参照を追加しました

10
Guilherme Muniz
  1. 今では、デモは このリンク に従って動作します:
  2. デモの例では、それも動作することができます:

プロジェクトのlibsディレクトリに2つのjarを追加します。以下の情報に従ってください。特に、私はあなたがする必要があると思う:

  • 「google-play-services_lib」プロジェクトの実際のソースをインポートし、Androidライブラリとしてリンクします。
    • これを行うには、プロジェクト->プロパティ-> Android->ライブラリ、追加-> google-play-services_lib(プロジェクトを右クリックして[プロパティ]を選択し、[Android]を選択します)。
    • プロジェクトの「Javaビルドパス」を介して依存プロジェクトとして追加しないでください。
  • Google-play-services.jarおよびAndroid-support-v4.jarをサンプルプロジェクトの「libs」フォルダーに追加し、「ビルドパス->ビルドパスの構成->ライブラリ」で「外部外部JAR」として追加します。 。

サンプルコードを使用するときに、まったく同じエラーが発生したため、この2番目の手順が必要であることがわかりました。私の実際のプロジェクトでcom.google.Android.gms.R $ styleableのNoClassDefFoundErrorを回避するには、最初のステップが必要でした。

また、サンプルコードが機能する前に、クリーンビルドを実行し、デバイスからアプリをアンインストールする必要がありました(以前のテスト試行から)。

どうもありがとうございました。

8
mmm2006

たぶん、あなたはこれを強調する必要があります:

注:Google PlayサービスはAndroidエミュレーターではサポートされていません— APIを使用して開発するには、Android電話やタブレットなどの開発デバイスを提供する必要があります。

http://developer.Android.com/google/play-services/setup.html

アプリを実行およびデバッグできる物理的な開発デバイスを提供する必要があります。エミュレータを使用しないでください。動作しません。

3
chameleon

MainActivity(またはv2マップを配置する各アクティビティ)で、FragmentActivityまたはActivityを拡張する必要があります。使用するのは、SupportMapFragmentまたは単にMapFragmentです。 MapFragmentクラスは、API 12以降をターゲットにしている場合にのみ使用してください。それ以外の場合は、SupportMapFragmentを使用します。微妙な違いですが、エラーになります。

2
Sheddad

Googleマップは現在Fragmentsの下にラップされているため、アクティビティをFragmetActivityだけでなく、「supporrtMapFragment "を使用してFragmentをsupportパッケージのみ。

2
Pratap Singh

この依存関係をbuild.gradleに追加します

compile 'com.google.Android.gms:play-services:6.5.87 '

今、これは動作します

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="match_parent"
    Android:orientation="vertical">

    <fragment
        Android:id="@+id/map"
        Android:name="com.google.Android.gms.maps.MapFragment"
        Android:layout_width="match_parent"
        Android:layout_height="388dp"
        Android:layout_weight="0.40" />
</LinearLayout>
1
yubaraj poudel

以前のAPIとは異なっていたため、少し困難でしたが、解決策を見つけました。 Googleは何をすべきかを言っています こちら ;質問に応じてcom.google.Android.gmsクラスが必要なので、google play servicesをセットアップする必要があります。これは、このようにプロジェクトに追加する必要があるライブラリです link 。プロジェクトライブラリgoogle-play-services_libのコピーをインポートすることは、sdkフォルダーにあるものではなく、非常に重要です。これが完了すると、Googleのチュートリアルは完全に完了します。

1
joseph.dev89

前述の多くのこととは別に、私にとっては、順序とエクスポートでも.jarをマークすることが重要でした。私が知る限り、それは通常言及されておらず、私にとってそれは重要でした。

Mark the lib in Order and Export

1

この提案に関連する: https://stackoverflow.com/a/20215481/3080835

また、これをマニフェストのApplication要素に追加する必要がありました。

<meta-data 
           Android:name="com.google.Android.gms.version" 
           Android:value="@integer/google_play_services_version" />

完璧に機能しました。

1
user3080835

Intellij Ideaプロジェクトでは、google-play-services_libとgoogle-play-services.jarの両方をプロジェクトに追加する必要がありました。そして、google-play-services_libプロジェクトにgoogle-play-services.jarも追加します。その後、 here で説明されていることをすべて実行した場合、アプリケーションは動作するはずです。

1
jumper0k

注意深く読んでください

すべてがGoogleコードと同じように動いている場合は、私の場合はマニフェストファイルを確認してくださいジオキーとマップキーを追加したので、例外が発生します、

注-マニフェストファイルに2つのキーを追加しないで、マップキーを削除してください

meta-data
        Android:name="com.google.Android.maps.v2.API_KEY"
        Android:value="@string/google_maps_key"/>

このコードを追加します。

 <meta-data
        Android:name="com.google.Android.geo.API_KEY"
        Android:value="@string/auto_location"/>

 <meta-data
        Android:name="com.google.Android.gms.version"
        Android:value="@integer/google_play_services_version"/>
0
Yogesh Rathi

アクティビティで書きました
import com.google.Android.gms.maps.SupportMapFragment;

そしてEclipseは私に赤いアイコンを与えた>クリック>修正プログラム設定..>アーカイブgoogle-play-services.jarを追加

そして最後にうまくいきました!!

0
Holyna

Google Play開発者サービスをプロジェクトに追加する

アプリでGoogle Play開発者サービスAPIを利用できるようにするには:

このリンクにある手順に従ってください: http://developer.Android.com/google/play-services/setup.html#Setup

0
kkk

LG-E730と2.3.4 Androidで同じ問題が発生しました。このエラーは、携帯電話で Google Play Service を更新する前に表示されます。

0
Lazy Beard

Eclipseでは、jarを追加するだけでなく、Google Playサービス用に別のプロジェクトを作成し、Androidプロジェクトからlibとして参照する必要があります。私のコンピューターでは、Google Play Services EclipseプロジェクトをD:\ adt-bundle-windows-x86-20130219\sdk\extras\google\google_play_services\libproject\google-play-services_libから直接インポートし、Libプロジェクトに設定しました。 Androidプロジェクトから参照できます。

0
Piovezan

同じ問題が発生し、SDKからPlay Servicesをインストールしただけで、すべての問題が飛び去りました。

0
Harsha

同じチュートリアルに記載されている

以下のコードは、Android AP​​I 12以降を対象とするアプリケーションで設定をテストする場合にのみ有用であることに注意してください

最小SDKバージョンを12に変更するだけで機能します

<uses-sdk
        Android:minSdkVersion="8"
        Android:targetSdkVersion="15" />

Havenは、APIの古いバージョンに対してAurelの回避策を試しました。

0
ericn

私はこの問題を抱えています。GooglePlayサービスを更新し、依存関係としてgoogle-play-service-libプロジェクトを追加していることを確認してください。コードを変更せずに動作していますが、 。プロジェクト構成をチェックして、リソースが含まれていることを確認してください。」しかし、これはsetMyLocationEnabled(true)を持っている場合にのみ発生します。誰もがその理由を知っていますか?

0
eOnOe

私は本当の解決策を得ることができませんが、これらのことをした後に解決します:
-google-play-services_libのインポート時に「プロジェクトをワークスペースにコピー」にチェックマークを付けます
-minSdkVersionを13未満に設定しないでください
-テーマでエラーが発生した場合は、レイアウトテーマを任意のシステムテーマに変更してみてください
-プロジェクトをゼロから再作成するか、どこかから取得した場合はすべて元に戻します

0
Van Hung

最初のステップ http://developer.Android.com/tools/projects/projects-Eclipse.html#ReferencingLibraryProject 2番目のステップ http://developer.Android.com/google/play- services/setup.html そのページには注記がありますが、注意を払いませんでした

注:ソースツリーにコピーしたライブラリのコピーを参照する必要があります。Android SDKディレクトリからライブラリを参照しないでください。

しかし、私はそれがドキュメンテーションの良い方法ではないと思う:)

0
George Nguyen

Google-play-services_libを実際にビルドすることを忘れないでください!!そのため、「google-play .... apkが見つかりませんでした」と表示されます。私にとって、Eclipseでは、他のハックは必要ありませんでしたが、Androidビルドパスやプロジェクト参照などからではなく、Javaサブメニューからプロジェクトを参照する必要がありました。手動で配置されたjarファイルも、実際に必要なものもありませんでした。

0
annouk

これは一部の人に役立つかもしれません。 2つのプロジェクトがありました。1つはGoogleのデモのコピーであり、正常に機能しました。別のプロジェクトを既存のプロジェクトにコピーしましたが、まったく実行できませんでした。そして、2回目の失敗では、上記のエラーメッセージが表示されました。

私の問題は、再構築、複数回のインポートなどを行っても、ライブラリが有効になっていないことが原因でした。プロジェクト->プロパティ-> Java Build Path-> Order&Exportタブを右クリックします。失敗したプロジェクトでは、「Android Private Libraries」タブのチェックが外されていました。

有効にすると、プロジェクトは正常に機能しました。

0
dubman23

上記のすべての人が言っていることはすべてあり、oncreateメソッドの最初の命令としてsuper.onCreate(savedInstanceState);を呼び出すだけでエラーを解決しました。メソッドの最後の行になる前。 :|一日中無駄。

0
Awais Akhtar

Windows 7 64ビットマシンでAndroid SDK for x86を使用しているときにこの問題に直面しました。 Android SDK 64ビットバージョンをダウンロードし、Eclipseに[ウィンドウ]> [設定]> [Android]> [SDKの場所]で表示し、問題の発生を停止しました。

0
Piovezan

MapFragmentを使用している場合、FragmentActivityを使用できないこと(この環境ではSupportMapFragmentは正常に機能します)に言及する価値があると思います(1時間以上髪を引っ張った後)。私はそれをあきらめる準備ができていた。

0
nicmoon

ドライブ関連のインポートを処理するには、Google Drive SDKからいくつかのjarが必要になります。大きなものがいくつかあるため、アプリに合わせて個別に追加することをお勧めします。

それがcom.google.Android.gms.* importsを解決しない場合、the Google Play Services add-on needs to be installed (from Extras -> Google Play Services in the SDK Manager) and google-play-services.jar needs to be added to your build path.

編集:

この場合、次のjarが必要でした。

google-api-services-drive-v2-rev1-1.7.2-beta.jar

google-http-client-1.10.3-beta.jar

google-http-client-Android2-1.10.3-beta.jar

google-oauth-client-1.10.1-beta.jar

google-api-client-Android2-1.10.3-beta.jar

google-api-client-1.10.3-beta.jar

0