小编aez*_*aez的帖子

Gradle不会按要求排除模块

我不能使用"exclude"在build.gradle文件中排除guava模块.

使用此依赖项块:

dependencies {
    ...
    compile(group: 'com.google.api-client', name: 'google-api-client', version: '1.19.0') {
        exclude(group: 'com.google.guava', module: 'guava-jdk5') // !!! Doesn't work!!!
       ...
    }
...
}
Run Code Online (Sandbox Code Playgroud)

我得到下面的依赖树.请注意,不排除guava-jdk5.

+--- com.google.api-client:google-api-client:1.19.0
|    +--- com.google.oauth-client:google-oauth-client:1.19.0
|    |    +--- com.google.http-client:google-http-client:1.19.0
|    |    |    ...
|    |    \--- com.google.code.findbugs:jsr305:1.3.9
|    ...
|    \--- com.google.guava:guava-jdk5:13.0
Run Code Online (Sandbox Code Playgroud)

...

请注意,最后一行仍包含番石榴模块,尚未排除.为什么?如何排除它?

android build.gradle android-gradle-plugin

34
推荐指数
2
解决办法
2万
查看次数

Button的"state_focused"状态是什么?

我希望按钮背景在单击按钮后保持特定颜色,并在按下其他按钮时再次更改颜色.我认为这是"以州为中心"的状态.

但是,我似乎只为我的Button按下了两个状态.

我是否正确理解state_focused状态,或者我的StateListDrawable(见下文)是错误的?

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_focused="true" android:state_pressed="false"><shape>
            <solid android:color="#00ff00" />
        </shape></item>
    <item android:state_pressed="true"><shape>
            <solid android:color="#ff0000" />
        </shape></item>
    <item><shape>
            <solid android:color="#0000ff" />
        </shape></item>

</selector>
Run Code Online (Sandbox Code Playgroud)

android android-button

27
推荐指数
3
解决办法
3万
查看次数

Android Studio多个dex文件gradle错误

当我在Android Studio中运行Android应用程序时,我收到此错误

UNEXPECTED TOP-LEVEL EXCEPTION:
    com.android.dex.DexException: Multiple dex files define Lcom/google/common/annotations/Beta;
...
Run Code Online (Sandbox Code Playgroud)

这是gradlew -q:app:dependencies的输出

+--- project :shared
+--- com.google.api-client:google-api-client:1.19.0
|    +--- com.google.oauth-client:google-oauth-client:1.19.0
|    |    +--- com.google.http-client:google-http-client:1.19.0
|    |    |    +--- com.google.code.findbugs:jsr305:1.3.9
|    |    |    \--- org.apache.httpcomponents:httpclient:4.0.1
|    |    |         +--- org.apache.httpcomponents:httpcore:4.0.1
|    |    |         +--- commons-logging:commons-logging:1.1.1
|    |    |         \--- commons-codec:commons-codec:1.3
|    |    \--- com.google.code.findbugs:jsr305:1.3.9
|    +--- com.google.http-client:google-http-client-jackson2:1.19.0
|    |    +--- com.google.http-client:google-http-client:1.19.0 (*)
|    |    \--- com.fasterxml.jackson.core:jackson-core:2.1.3
|    \--- com.google.guava:guava-jdk5:13.0
+--- com.google.http-client:google-http-client-gson:1.19.0
|    \--- com.google.code.gson:gson:2.1
+--- com.google.api-client:google-api-client-android:1.19.0
|    +--- com.google.api-client:google-api-client:1.19.0 …
Run Code Online (Sandbox Code Playgroud)

android android-studio build.gradle android-gradle-plugin

15
推荐指数
4
解决办法
6097
查看次数

不能使用Arrays.copyOfRange

我似乎无法在Eclipse Indigo 3.7.1的Android项目中访问Arrays.copyOfRange在Ubuntu 11.10上.

我的JRE是java-6-openjdk,我认为它包含了Arrays.copyOfRange

例如,如果我有这个代码:

int[] debug = new int[5];
int[] x = Arrays.copyOfRange(debug,0,4);
Run Code Online (Sandbox Code Playgroud)

Eclipse告诉我

copyOfRange(int[], int, int)类型的方法未定义Arrays

我不明白,因为Android参考Arrays包含这种方法用于数组.

有任何想法吗?

eclipse android

7
推荐指数
1
解决办法
5209
查看次数

如何在Android中的"Cloud Endpoints"构建器中禁用GZipContent

我想为Google Cloud Endpoints类禁用GZipContent,以便POST可以在本地开发服务器上运行.

最新的GPE版本生成此端点构建器:

public static final class Builder extends AbstractGoogleJsonClient.Builder {
    public Builder(HttpTransport transport, JsonFactory jsonFactory,
        HttpRequestInitializer httpRequestInitializer) {
      super(
          transport,
          jsonFactory,
          ...);
    }
Run Code Online (Sandbox Code Playgroud)

和Google文档建议像这样使用它:

Myendpoint.Builder endpointBuilder = new Myendpoint.Builder(
                    AndroidHttp.newCompatibleTransport(),
                    new GsonFactory(),
                    credential);
Run Code Online (Sandbox Code Playgroud)

有谁知道如何为端点禁用GZipContent?

谢谢.

android google-cloud-endpoints

7
推荐指数
1
解决办法
1143
查看次数

Google Play游戏服务排行榜API无法看到其他玩家的得分

我正在开发一款Android应用,我在其中使用Google Play游戏服务API.我已经成功实现了各个方面的排行榜,除了我看不到其他玩家的得分,只显示了我自己当前登录的玩家得分.

它就好像我的测试用户没有与当前用户分享他们的游戏活动,但实际上他们有,并且这个事实在他们的帐户中是可见的.我还确认当前用户与其他测试用户共享应用程序.更新:我可以使用"全部"看到其他分数,但不能在"社交"中看到.不过,为什么"社交"中没有分数?

我使用这个GoogleApiClient:

mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)
                .addApi(Games.API).addScope(Games.SCOPE_GAMES)
                .build();
Run Code Online (Sandbox Code Playgroud)

我可以成功切换每个帐户的帐户,登录,提交分数等,但是当我开始排行榜活动时,我根本看不到其他测试人员帐户分数.

关于在哪里看的任何想法?

android leaderboard google-plus google-play-services google-play-games

5
推荐指数
1
解决办法
3098
查看次数

云终端在Android应用程序中验证失败

我在Google Cloud Endpoints Android应用中首次尝试在调试模式下使用身份验证时遇到问题.我设置了这样的凭据:

credential = GoogleAccountCredential.usingAudience(this,
           "server:client_id:long-string-i-got-from-api-console");
credential.setSelectedAccountName(accountName);
Run Code Online (Sandbox Code Playgroud)

然后尝试像这样使用它:

final String LOCAL_APP_ENGINE_SERVER_URL = "http://xxx.xxx.x.xxx:8888"; 
Testdbendpoint.Builder endpointBuilder = new Testdbendpoint.Builder(
            AndroidHttp.newCompatibleTransport(),
            new GsonFactory(),
            credential);
endpointBuilder.setRootUrl(LOCAL_APP_ENGINE_SERVER_URL + "/_ah/api/");
Testdbendpoint endpoint = endpointBuilder.build();
try {
    TestDB testDB = new TestDB().setId(10101L);                      
    TestDB result = endpoint.insertTestDB(testDB).execute();  //-- fails here!!!!
} catch ...
Run Code Online (Sandbox Code Playgroud)

但尝试失败,我在logCat中收到这些消息:

03-06 23:33:20.418:W/System.err(11861):引起:com.google.android.gms.auth.GoogleAuthException:Unknown 03-06 23:33:20.418:W/System.err(11861) ):at com.google.android.gms.auth.GoogleAuthUtil.getToken(Unknown Source)03-06 23:33:20.423:W/System.err(11861):at com.google.android.gms.auth.GoogleAuthUtil .getToken(Unknown Source)03-06 23:33:20.428:W/System.err(11861):at com.google.api.client.googleapis.extensions.android.gms.auth.GoogleAccountCredential.getToken(GoogleAccountCredential.java) :192)

android google-cloud-endpoints

4
推荐指数
1
解决办法
3285
查看次数

如何设置clientIds和受众以对Android应用程序的Google Cloud Endpoints进行身份验证

在端点App Engine后端,我该如何设置

@Api(name=...
     clientIds = {what-goes-here-exactly-1},
     audiences = {what-goes-here-exactly-2}
)
Run Code Online (Sandbox Code Playgroud)

在Android客户端中,我该如何设置

credential = GoogleAccountCredential.usingAudience(this,
           what-goes-here-exactly-3);
Run Code Online (Sandbox Code Playgroud)

这里有相互矛盾/混淆/不清楚的说明http://devthots.blogspot.com/https://developers.google.com/appengine/docs/java/endpoints/consume_android#making-authenticated-calls

我在API控制台的API访问中生成了许多密钥,但不确定如何使用它们并附加/添加它们以用于上述语句.

谢谢.

android google-cloud-endpoints

4
推荐指数
1
解决办法
2165
查看次数

如何将Cloud Endpoints生成的sources.jar库移动到Android项目中

Google Plugin for Eclipse包含一个自动生成云端点客户端库的工具.但似乎没有一种简单的方法可以将生成的source.jar文件移动到您的Android源代码中.

文档https://developers.google.com/appengine/docs/java/endpoints/consume_android

端点生成会生成源jar文件.将此jar文件的内容添加到Android项目中.

似乎不可能将source.jar文件放入Android/lib或/ libs,因为源是.java而不是.class形式.所以我只是手动复制GPE生成的源代码(它们放在AppEngine项目的endpoints-lib文件夹中).这可能非常麻烦,尤其是当您有多个端点并经常进行编辑时.

另请参阅将Android应用程序连接到Google Cloud Endpoints时出错:找不到类

有没有人知道在Android项目中直接实际使用sources.jar文件的方法?谢谢.

android google-cloud-endpoints

4
推荐指数
1
解决办法
2071
查看次数

Google Cloud Endpoints中的多个实体参数

如何将多个实体从客户端传递到Google Cloud端点?

例如,在服务器的Endpoint api源文件中轻松完成传递单个实体:

public class SomeEndpoint {
...
   @ApiMethod(...)
   public MyEntity someMethod(MyEntity someEntity) {
   ...
   }
...
}
Run Code Online (Sandbox Code Playgroud)

然后在客户端我可以轻松打电话

endpoint.someMethod(someEntity).execute()
Run Code Online (Sandbox Code Playgroud)

但是,如果我想将两个实体传递给端点怎么办?,如下所示:

 @ApiMethod(...)
 public MyEntity otherMethod(MyEntity someEntity, MyEntity someOtherEntity) {
    ...
 }
Run Code Online (Sandbox Code Playgroud)

这不起作用,GPE只生成一个带有单个MyEntity参数的端点库.

是否可以传递多个Entity参数?

谢谢.

google-cloud-endpoints

3
推荐指数
1
解决办法
2387
查看次数