编译我的Android应用程序时出现Google Maps Android API v2-错误(Google Maps Android API v2- error while compiling my android application)

现状:问题尚未得到解决,需要帮助..

我现在正在开发一个地图应用程序,使用新的谷歌地图Android v2..Before我将它应用到我真正的应用程序..我做了一个测试..并试图让它工作..我遵循谷歌开发人员的文档

但似乎有一部分我错过了,但找不到它们。你可以为我识别它们吗? 我将在下面给你我的源代码......让你清楚地看到它们。

这是我当前的MainActivity类(已更新):<---我的程序中只有这个类

package com.madcatworld.demomapv2; import com.google.android.gms.maps.SupportMapFragment; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Menu; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SupportMapFragment fragment = new SupportMapFragment(); getSupportFragmentManager().beginTransaction() .add(R.id.map, fragment).commit(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }

这是我的activity_main.xml :(已更新)

<?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.SupportMapFragment" />

这是我的Manifest.xml:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.madcatworld.demomapv2" android:versionCode="1" android:versionName="1.0" > <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" /> <permission android:name="com.madcatworld.demomapv2.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.madcatworld.demomapv2.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" > <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="xxxxxxxxxxxxxxx" /> <activity android:name="com.madcatworld.demomapv2.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> </application> </manifest>

我的模拟器:当我点击它时,会出现一个“获取Google Play服务”对话框......如下所示,会出现一些错误。

我当前的错误日志(更新)似乎比以前的错误更短!! :):

01-25 04:23:18.647: E/AndroidRuntime(503): FATAL EXCEPTION: main 01-25 04:23:18.647: E/AndroidRuntime(503): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://play.google.com/store/apps/details?id=com.google.android.gms flg=0x80000 pkg=com.android.vending } 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.Activity.startActivityForResult(Activity.java:2817) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.Activity.startActivity(Activity.java:2923) 01-25 04:23:18.647: E/AndroidRuntime(503): at com.google.android.gms.internal.d$2.onClick(Unknown Source) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.view.View.performClick(View.java:2408) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.view.View$PerformClick.run(View.java:8816) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.os.Handler.handleCallback(Handler.java:587) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.os.Handler.dispatchMessage(Handler.java:92) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.os.Looper.loop(Looper.java:123) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.ActivityThread.main(ActivityThread.java:4627) 01-25 04:23:18.647: E/AndroidRuntime(503): at java.lang.reflect.Method.invokeNative(Native Method) 01-25 04:23:18.647: E/AndroidRuntime(503): at java.lang.reflect.Method.invoke(Method.java:521) 01-25 04:23:18.647: E/AndroidRuntime(503): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 01-25 04:23:18.647: E/AndroidRuntime(503): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 01-25 04:23:18.647: E/AndroidRuntime(503): at dalvik.system.NativeStart.main(Native Method)

供你参考,

我已经通过从eclipse复制我的SHAI num在我的Google帐户中生成了一个新的api密钥。

我做了这个步骤Android工具>右键单击>导出签名的应用程序包(使它们相互链接,我创建新的密钥库)我的问题是:我应该实现这个(没有2)?

如果你发现我犯了任何错误,请告诉我..谢谢

Current Status: PROBLEM HAS NOT SOLVED YET- NEED HELP..

Im now developing a map app by using the new google maps Android v2..Before I apply it into my real app..I did a testing..and tried to make it works..I followed the documentation by Google Developers

But seems there are some part I missed, But couldn't find them.. Can u identify them for me? I willl give u my source code below...to let u see them clearly..

Here my current MainActivity class(updated): <---I have only this class in my program

package com.madcatworld.demomapv2; import com.google.android.gms.maps.SupportMapFragment; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.Menu; public class MainActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SupportMapFragment fragment = new SupportMapFragment(); getSupportFragmentManager().beginTransaction() .add(R.id.map, fragment).commit(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }

Here is my activity_main.xml: (updated)

<?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.SupportMapFragment" />

Here is my Manifest.xml:

<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.madcatworld.demomapv2" android:versionCode="1" android:versionName="1.0" > <uses-feature android:glEsVersion="0x00020000" android:required="true" /> <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="14" /> <permission android:name="com.madcatworld.demomapv2.permission.MAPS_RECEIVE" android:protectionLevel="signature" /> <uses-permission android:name="com.madcatworld.demomapv2.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" > <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="xxxxxxxxxxxxxxx" /> <activity android:name="com.madcatworld.demomapv2.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> </application> </manifest>

My emulator: a dialog "Get Google Play Services" appear..when I clicked it...a few errors occur as below..

my current error log(updated) it seems shorter than previous error!! :) :

01-25 04:23:18.647: E/AndroidRuntime(503): FATAL EXCEPTION: main 01-25 04:23:18.647: E/AndroidRuntime(503): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=http://play.google.com/store/apps/details?id=com.google.android.gms flg=0x80000 pkg=com.android.vending } 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.Activity.startActivityForResult(Activity.java:2817) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.support.v4.app.FragmentActivity.startActivityForResult(FragmentActivity.java:817) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.Activity.startActivity(Activity.java:2923) 01-25 04:23:18.647: E/AndroidRuntime(503): at com.google.android.gms.internal.d$2.onClick(Unknown Source) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.view.View.performClick(View.java:2408) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.view.View$PerformClick.run(View.java:8816) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.os.Handler.handleCallback(Handler.java:587) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.os.Handler.dispatchMessage(Handler.java:92) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.os.Looper.loop(Looper.java:123) 01-25 04:23:18.647: E/AndroidRuntime(503): at android.app.ActivityThread.main(ActivityThread.java:4627) 01-25 04:23:18.647: E/AndroidRuntime(503): at java.lang.reflect.Method.invokeNative(Native Method) 01-25 04:23:18.647: E/AndroidRuntime(503): at java.lang.reflect.Method.invoke(Method.java:521) 01-25 04:23:18.647: E/AndroidRuntime(503): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 01-25 04:23:18.647: E/AndroidRuntime(503): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 01-25 04:23:18.647: E/AndroidRuntime(503): at dalvik.system.NativeStart.main(Native Method)

For your information,

I already generate a new api key in my google account by copy my SHAI num from eclipse..

I did this steps Android Tools> rightclick> Export Signed Application Packages (to make them link each other, I create new keystore) My QUESTION IS: should I implement this (no 2)??

Please let me know if u found any mistakes I have made.. thank you

最满意答案

你犯了一个错误,你试图访问android.R.id.content你的my activity_main.xml文件中的Mapfragment id是android:id="@+id/map"

所以,试试这种方式。

将此代码放在onCreate(..)方法中

SupportMapFragment fragment = new SupportMapFragment(); getSupportFragmentManager().beginTransaction() .add(R.id.map, fragment).commit();

而不是这个。

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

You made a mistake you are trying to access android.R.id.content where in your my activity_main.xml file Mapfragment id is android:id="@+id/map"

So, try this way.

Put this Code in your onCreate(..) method

SupportMapFragment fragment = new SupportMapFragment(); getSupportFragmentManager().beginTransaction() .add(R.id.map, fragment).commit();

instead of this.

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

更多推荐

android,com,电脑培训,计算机培训,IT培训"/> <meta name="description"