【问题标题】:Add library path in Android.mk - google-play-services_lib在 Android.mk 中添加库路径 - google-play-services_lib
【发布时间】:2013-06-08 15:27:27
【问题描述】:

我将 google-play-services_lib 库用于我的一个项目。一切都在eclipse中构建得很漂亮。现在我想编写一个 Android.mk 文件来自动构建我的项目。

按照指令 here ,我已将 LOCAL_LDLIBS 添加到 Android.mk,将 google-play-services_lib 库项目放入我项目的 libs 文件夹,但它不起作用。

LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-java-files-under, src)

LOCAL_PACKAGE_NAME := GoogleReviews

LOCAL_LDLIBS := -L/libs/google-play-services_lib

include $(BUILD_PACKAGE)

include $(CLEAR_VARS)

include $(BUILD_MULTI_PREBUILT)

由于我在编译过程中遇到异常,因此无法从 Android.mk 中正确检测到该库,这些异常指的是 google-play-services_lib 库中缺少的这些类。

packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:36: package com.google.android.gms.auth does not exist
import com.google.android.gms.auth.GoogleAuthUtil;
                              ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:37: package com.google.android.gms.common does not exist
import com.google.android.gms.common.AccountPicker;
                                ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:38: package com.google.android.gms.common does not exist
import com.google.android.gms.common.ConnectionResult;
                                ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:39: package com.google.android.gms.common does not exist
import com.google.android.gms.common.GooglePlayServicesUtil;
                                ^
Copying: out/target/common/obj/JAVA_LIBRARIES/jp.co.sharp.android.model.orange_sh70f_intermediates/noproguard.classes.dex
target Jar: jp.co.sharp.android.model.orange_sh70f (out/target/common/obj/JAVA_LIBRARIES/jp.co.sharp.android.model.orange_sh70f_intermediates/javalib.jar)
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:110: cannot find symbol
symbol  : variable AccountPicker
location: class com.example.appreviews.ReviewScreen
        Intent intent = AccountPicker.newChooseAccountIntent(null, null,
                    ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:132: cannot find symbol
symbol  : variable GooglePlayServicesUtil
location: class com.example.appreviews.ReviewScreen
        int status = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
                 ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:134: cannot find symbol
symbol  : variable ConnectionResult
location: class com.example.appreviews.ReviewScreen
        case ConnectionResult.SUCCESS:
             ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:138: cannot find symbol
symbol  : variable ConnectionResult
location: class com.example.appreviews.ReviewScreen
        case ConnectionResult.SERVICE_MISSING:
             ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:141: cannot find symbol
symbol  : variable ConnectionResult
location: class com.example.appreviews.ReviewScreen
        case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED:
             ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:145: cannot find symbol
symbol  : variable ConnectionResult
location: class com.example.appreviews.ReviewScreen
        case ConnectionResult.SERVICE_DISABLED:
             ^
packages/apps/GoogleReviews/src/com/example/appreviews/ReviewScreen.java:261: cannot find symbol
symbol  : variable GoogleAuthUtil
location: class com.example.appreviews.ReviewScreen
            GoogleAuthUtil.invalidateToken(this, token);
            ^
11 errors

需要做什么,这样我才能摆脱这个错误。

非常感谢任何帮助。

【问题讨论】:

  • 有人对此有想法吗?

标签: android android-ndk android-build


【解决方案1】:

试试这个:

LOCAL_STATIC_JAVA_LIBRARIES := libgoogleplay

LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := libgoogleplay:你的谷歌播放库

【讨论】:

    【解决方案2】:

    我通过 VisualGDB 使用 NDK。

    我似乎让它工作的方式是添加到project.properties 文件中。

    我按照 Google 的 Android 文档似乎对 Google Play 服务的建议进行了操作,并将其从 SDK 的位置复制到了不同的位置(但不是我的项目目录)。当时位于{android-sdk}\extras\google\google_play_services\libproject

    我手动编辑了project.properties 文件,并在我创建的目录中添加了一个相对路径(绝对路径不起作用)。

    android.library.reference.1=<relative/path/to/my/google-play-services_lib>
    

    (.1 是我第一次引用外部库)

    然后我在此处按照 SettingUpLibraryProject 说明进行操作:http://developer.android.com/tools/projects/projects-cmdline.html#SettingUpLibraryProject

    这最终创建了构建过程所需的一堆文件。之后一切都很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-05
      相关资源
      最近更新 更多