1

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

按照此处的说明,我已LOCAL_LDLIBS通过将库项目放入项目的 libs 文件夹来添加到 Android.mk,google-play-services_lib但它不起作用。

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

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

任何帮助深表感谢。

4

2 回答 2

1

尝试这个:

LOCAL_STATIC_JAVA_LIBRARIES := libgoogleplay

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

于 2013-06-27T12:17:58.777 回答
0

我通过 VisualGDB 使用 NDK。

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

我做了 Google 的 Android 文档似乎对 Google Play Services 的建议,并将其从 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

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

于 2014-07-04T23:16:16.330 回答