【问题标题】:import cannot be resolved导入无法解决
【发布时间】:2013-03-11 13:04:06
【问题描述】:

我有一个包含多个导入的活动类,但其中一些在 Eclipse 中无法识别。我看到错误导入类名无法解析。

这是我的代码:

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;
}

}

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

我该如何解决?

谢谢。

【问题讨论】:

  • 您是否将库添加到您的项目中?它是谷歌 API。不是原装安卓

标签: android


【解决方案1】:

试试这个答案:

The import com.google.android.gms cannot be resolved

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

  2. 在该库项目进入工作区后,从您当前的项目中引用该项目,即出现错误。我的答案中的链接提供了执行此操作的方法。还有@Alex 在链接中的回答。

希望对你有帮助。

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      确保您使用的 api 版本是 Google API 并安装了 Google Play 服务

      Google Play 服务

      • 打开SDK Manager,滚动到底部,展开“Extras”,选择“Google Play Services”,接受并下载。

      • 安装完成后,将其导入工作区

        • Import -> Project -> Android -> Existing Android Code into Workspace ,选中 copy to 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
          • 引用路径(需要引号)是您的密钥库的路径
          • 右键单击“标记”突出显示“SHA1:”后的文本按回车键复制

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

      • 在“Google apis”下,单击下拉菜单并点击“创建”,随意命名 API 项目。
        • 现在应该会弹出服务,向下滚动到“Google Maps API v2 或 v3”和“Google Maps Android API v2”,点击其中一个的开关
        • 点击左侧的 API Access,进入“创建新的 Android 密钥”屏幕
        • 还记得你复制的 SHA1:指纹吗?将其粘贴到出现的两者中,然后 ;

      回到项目

      返回项目

      • 转到 AndroidManifest.xml

        • 将这些权限添加到您的清单中:

        • 请确保匹配您自己的包名称,而不是 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"/>

        • &lt;application &gt;标签下,添加:

        • <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="PASTE YOUR SHA1 CERTIFICATE KEY HERE"/>

          • 值来自 SHA1 指纹上方的 api 控制台

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

      【讨论】:

      • 是的。我已经完成了每一步。但是错误并没有被修复。当我在 Android 选项卡中看到项目属性时,我可以在库的左侧参考中看到一个红十字。正常吗?
      • 这不应该是正常的......在引用这个时:stackoverflow.com/a/14735711/1888585 你可以尝试将 lib 复制到项目目录旁边,点击删除,然后尝试重新添加它
      • 好的。现在它起作用了。问题是具有错误链接的 Google 服务库。我再次链接它,现在一切正常。感谢您的回答。
      【解决方案4】:

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

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

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 2021-11-20
        • 1970-01-01
        • 2019-02-12
        • 2021-09-13
        • 2020-01-23
        • 2020-12-16
        • 2014-09-04
        • 2022-01-24
        • 1970-01-01
        相关资源
        最近更新 更多