导入无法解析

5

我有一个活动类,其中有几个导入但是这些导入在Eclipse中无法识别。我看到了“import class name cannot be resolved”的错误。

下面是我的代码:

package com.ap.mapa;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.MapFragment;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.MarkerOptions;


public class MapaLugaresActivity extends Activity {

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


}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.mapa_lugares, menu);
    return true;
}

}

错误出现在每个import com.google.android.gms.maps中。如果我输入另一个类作为import android.content.Context;就不会出现错误。

我该如何解决这些错误?

谢谢。


2
你把这个库添加到你的项目里了吗?这个库是Google API,不是原生的Android。 - mr.VVoo
4个回答

28

确保您正在使用的 API 版本是 Google API,并且已安装 Google Play 服务。

Google Play 服务

  • 打开 SDK 管理器,向下滚动,展开“Extras”,选择“Google Play 服务”,接受并下载。

  • 安装完成后,将其导入到 Workspace 中。

    • 导入 -> 项目 -> Android -> 导入现有的 Android 代码到 Workspace,勾选复制到 Workspace 并浏览到您的 Android SDK 文件夹所在的位置:/extras/google/google_play_services/libproject/google-play-services_lib
    • 点击“完成”

项目

  • 转到项目属性,单击“Android”,单击“Google APIs”
  • 修改构建路径以包括最近添加的 jar(google-play-services-lib.jar)[位于 google-play-service-lib 项目的 bin 目录下]
  • 您需要确保您的应用程序已在 Google 注册。
    • 记下此应用程序的软件包名称
    • 为了将其注册到 Google,您需要验证位于 .android 下的 SHA1 证书指纹作为debug.keystore
    • 打开 cmd 窗口(我假设您正在 Windows 上工作),浏览到 C:\ Program Files \ Java \ 或 Java 安装的任何位置,键入以下命令以获取 SHA1 指纹:
    • keytool -list -v -keystore "C:\Program Files (x86)\Android\android-sdk.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
      • 引号括起来的路径(需要引号)是 keystore 的路径
      • 右键单击打“标记”,选中“SHA1:”后面的文本,然后按 Enter 复制

Google APIs 控制台 因此,复制 SHA1 指纹后,您将需要转到 https:\code.google.com/apis/console

  • 在“Google APIs”下拉菜单中,点击“创建”,将API项目命名为您想要的名称。
    • 现在应该会弹出“服务”选项,向下滚动到“Google Maps API v2或v3”和“Google Maps Android API v2”,并单击其中一个切换开关
    • 点击左侧的“API Access”,进入到“创建新的Android密钥”屏幕
    • 记得您复制的SHA1指纹吗?将其粘贴到出现的两个框中,然后添加包名称:< SHA1指纹文本>;<之前注明的包名称>

回到项目

返回项目

  • 转到AndroidManifest.xml

    • 将以下权限添加到AndroidManifest文件中:

    • 确保将com.example.androidmapsv2替换为自己的包名称 <permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE" android:protectionLevel="signature"></permission> <uses-permission android:name="com.example.androidmapsv2.permission.MAPS_RECEIVE"/> <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/> <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-feature android:glEsVersion="0x00020000" android:required="true"/>

    • <application > 标记下添加以下内容:

    • <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="将你的SHA1证书密钥粘贴到这里"/>

      • 其中值是来自上面API控制台的SHA1指纹

我意识到这很多,但这就是我使用地图的方式


是的。我每个步骤都完成了。但错误没有修复。当我在Android选项卡中查看项目属性时,可以看到库左侧参考上有一个红色十字。这正常吗? - axmug
1
不应该是正常的...在参考这个:https://dev59.com/zmUq5IYBdhLWcg3wKtXs#14735711 你可以尝试将库复制到项目目录旁边,然后尝试删除并重新添加它 - Vnge
1
好的。现在它可以工作了。问题是Google服务库有一个错误链接。我重新链接了它,现在一切都正常了。感谢您的回答。 - axmug

1

尝试以下答案:

无法解析导入的com.google.android.gms

  1. 使用Google Play jar制作库项目(在上面的答案中使用maps.jar)。我使用了与@Vnge回复中相同的jar,即 <android sdk folder>/extras/google/google_play_services/libproject/google-play-services_lib。

  2. 在工作区中引用该库项目,即从出现错误的当前项目中引用。如何完成此操作在我的答案链接中提供。还有@Alex在该链接中的答案。

希望能帮到您。


0

@axmug。您需要使用Android SDK Manager添加Google Maps API。

  1. 打开Android SDK Manager。
  2. 检查项目所使用的特定Android版本的Google Map API:
  3. 安装并重新启动eclipse。

希望这可以帮助您!


0
在项目属性 - Android 中检查库 google-play-services_lib.jar 的路径是否正确。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接