Articles of google play services

Android项目build立成功,但运行失败,错误:java.util.zip.ZipException:重复条目

我已经更新了我的android工作室和SDK和项目的一些程序包依赖关系,从那以后我面临了很多问题,我认为原因是依赖关系不兼容。 在我研究的过程中,我发现很多人都有同样的问题,这并不罕见。 我已经解决了一些错误,但问题却一个接一个出现,我只是困惑。 希望你能帮我找出问题和解决办法。 代码适用于新的Android版本! (有点奇怪),我可以在android 21+上编译和运行应用程序。 但是当我尝试运行它在21以下的Android版本,它给了我一个错误。 在我迁移到Android Studio 2之前,每件事情都可以。 这里是我现在得到的错误代码: FAILURE: Build failed with an exception. 出了什么问题:执行失败的任务':transformClassesWithJarMergingForDebug'。 com.android.build.api.transform.TransformException:java.util.zip.ZipException:重复条目:android / support / annotation / WorkerThread.class 尝试:运行–stacktrace选项来获取堆栈跟踪。 运行–info或–debug选项来获得更多的日志输出。 这里是项目档案文件: task wrapper(type: Wrapper) { gradleVersion = '2.2' } buildscript { repositories { mavenCentral() jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.1.0' classpath 'com.google.gms:google-services:2.1.0' } } apply plugin: 'com.android.application' […]

如何在Android中使Geo Fencing警报更加准确

您好,我正在尝试在Android中添加Geo Fence的function。 我正在使用http://developer.android.com/training/location/geofencing.html来创build和监控Geo Fences。 我使用IntentService警报(input/退出),但对我来说,它不工作。 但是当我离开并回到区域testing它时,它不适合我。 我已打开设备的GPS,但设备未连接到互联网。 任何人都可以帮助我,使其更加准确和完美,没有任何问题。 public class MainActivity extends Activity implements GooglePlayServicesClient.ConnectionCallbacks, GooglePlayServicesClient.OnConnectionFailedListener, LocationClient.OnAddGeofencesResultListener { private LocationClient locationClient; private String TAG = "MainActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); int resp = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); if (resp == ConnectionResult.SUCCESS) { locationClient = new LocationClient(this, this, this); locationClient.connect(); } } @Override public void […]

Android Wear错误ConnectionResult {statusCode = SERVICE_VERSION_UPDATE_REQUIRED,resolution = null}

我想制作一个简单的可穿戴应用程序,并通过数据层进行连接。 一切工作正常与手持模块(使用:S5),但可穿戴(使用:摩托罗拉360)总是抛出错误: onConnectionFailed:ConnectionResult {statusCode = SERVICE_VERSION_UPDATE_REQUIRED,resolution = null} 掌上电脑的播放服务是最新的 我已经添加 compile 'com.google.android.gms:play-services:7.3.0' 到了这两个,掌上电脑,作为穿build.gradle。 可穿戴式活动: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub); stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() { @Override public void onLayoutInflated(WatchViewStub stub) { mTextView = (TextView) stub.findViewById(R.id.text); } }); int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); Log.i(TAG,"Services available: "+ result); mGoogleApiClient = new GoogleApiClient.Builder(this) […]

Google Play服务不兼容

我一直在我的应用程序上使用谷歌的融合位置服务进行位置跟踪。 我使用Android工作室,它是gradle构build系统。 最近我发现了一个与谷歌的位置服务的大问题。 我的gradle构build文件包含这个依赖项:compile'c​​om.google.android.gms compile 'com.google.android.gms:play-services:+ 。 所以当我重build我的项目时,Android工作室下载了最新版本的Google Play服务,即5.2.08。 不过,我的设备(三星Galaxy S4)只有5.0.89版本。 显然这两个版本不兼容,我得到这个错误: Google Play services out of date. Requires 5208000 but found 5089038 Google Play services out of date. Requires 5208000 but found 5089038 。 我无法更新我的设备上的谷歌播放服务。 它指出它是最新的(5.0.89)。 使用这个解决scheme,我设法使跟踪系统工作,但它不会在我拥有的另一个设备(W8L设备)上工作,它有另一个谷歌播放服务版本:5.0.84。 这似乎并不罕见的事情发生在谷歌。 我怎样才能解决这个问题,并确保谷歌不会搞乱我的应用程序。

Google Plus Android SDK:错误地夸大类com.google.android.gms.plus.PlusOneButton

我在Android应用程序中使用Google Plus SDK。 在一些罕见的设备上,当我的包含Google Plusbutton的视图膨胀时,出现以下崩溃: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); // CRASH HERE …. } 我的GooglePlusbutton是这样的XML: <com.google.android.gms.common.SignInButton android:id="@+id/sign_in_button" …. /> <com.google.android.gms.plus.PlusOneButton xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus" android:id="@+id/plus_one_button" … /> 在日志下面。 任何想法来解决这个问题? 谢谢 !! java.lang.RuntimeException: Unable to start activity ComponentInfo{com.audioguidia.myweather/com.audioguidia.myweather.MyWeatherActivity}: android.view.InflateException: Binary XML file line #111: Error inflating class com.google.android.gms.plus.PlusOneButton at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) at android.app.ActivityThread.access$600(ActivityThread.java:130) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1195) […]

以下类无法实例化: – com.google.android.gms.plus.PlusOneButton

我正在按照这个教程https://developers.google.com/+/mobile/android/recommend在我的应用程序中集成+1button。 只要我把这个代码在XML中,我在GraphicalLayout中得到错误 <com.google.android.gms.plus.PlusOneButton xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus" android:id="@+id/plus_one_button" android:layout_width="wrap_content" android:layout_height="wrap_content" plus:size="standard" plus:annotation="inline" /> 我也尝试把xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus"放在父亲的RelativeLayout中,但同样的错误。 The following classes could not be instantiated: – com.google.android.gms.plus.PlusOneButton (Open Class, Show Error Log) See the Error Log (Window > Show View) for more details. java.lang.NullPointerException at com.google.android.gms.plus.PlusOneDummyView$zzb.isValid( at com.google.android.gms.plus.PlusOneDummyView.zzrJ( at com.google.android.gms.plus.PlusOneDummyView.<init>( at com.google.android.gms.plus.internal.zzg.zza( at com.google.android.gms.plus.PlusOneButton.zzN( at com.google.android.gms.plus.PlusOneButton.<init>( at sun.reflect.NativeConstructorAccessorImpl.newInstance0( at sun.reflect.NativeConstructorAccessorImpl.newInstance( at sun.reflect.DelegatingConstructorAccessorImpl.newInstance( […]

Googlelogin使用新的GoogleSignInOptions获取访问令牌

我的Android应用程序当前使用GoogleAuthUtil来login用户并获取传递到后端的access_token (下面的代码片断显示创buildGoogleApiClient并使用GoogleAuthUtil获取令牌)。 mGoogleApiClient = new GoogleApiClient.Builder(this) .addConnectionCallbacks(this) .addOnConnectionFailedListener(this) .addApi(Plus.API) .addScope(new Scope("profile")) .build(); … … String accessToken = GoogleAuthUtil.getToken(GoogleLoginActivity.this, Plus.AccountApi.getAccountName(mGoogleApiClient), "oauth2:profile email"); 然后我发送到后端 我正在尝试转移到新的Google SignIn – https://developers.google.com/identity/sign-in/android/sign-in 所以改变了GoogleApiClient的创build, GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestEmail() .requestIdToken("<web client id>") .build(); mGoogleApiClient = new GoogleApiClient.Builder(this) .enableAutoManage(this, this) .addApi(Auth.GOOGLE_SIGN_IN_API, gso) .build(); 然后做login使用, startActivityForResult(Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient), RC_GET_TOKEN); 和活动结果使用(类似于上面链接中的例子), OptionalPendingResult<GoogleSignInResult> opr = Auth.GoogleSignInApi.silentSignIn(mGoogleApiClient); if […]

GCMnetworkingpipe理器可以在非Play设备上工作吗?

作为5.0之前的Android JobScheduler的替代品,Google发布了GCMnetworkingpipe理器 ,它自动在Android 5.0中使用本地JobScheduler,并为旧版本自动使用一些自定义代码。 不过,我不确定它是否适用于非Play设备(没有Google Play服务的设备),如Kindle,Blackberry 10和中国手机。 从名字看,它似乎与GCM有关,所以我怀疑它只适用于Play设备。 任何人都可以证实这一点?

Gradle获取当前的特定任务的味道

我正在尝试处理google-services.json和不同的风格。 该文件说,我们需要在根文件夹中的文件。 我有一个任务,可以很容易地从风格文件夹复制文件到根文件夹: task CopyToRoot(type: Copy) { def appModuleRootFolder = '.' def srcDir = 'src' def googleServicesJson = 'google-services.json' outputs.upToDateWhen { false } def flavorName = android.productFlavors.flavor1.name description = "Switches to $flavorName $googleServicesJson" delete "$appModuleRootFolder/$googleServicesJson" from "${srcDir}/$flavorName/" include "$googleServicesJson" into "$appModuleRootFolder" } 然后,在afterEvaluate我的力量 afterEvaluate { processFlavor1DebugGoogleServices.dependsOn CopyToRoot processFlavor1ReleaseGoogleServices.dependsOn CopyToRoot } 这只适用于1种风味(静态定义)。 如何为每一个味道做到这一点? 我有四种口味。 如何获得正在编译的当前风味? [ […]

Android:AccountPicker设置灯光主题

是否可以设置select器对话框的主题? import com.google.android.gms.common.AccountPicker; …. String[] accountTypes = new String[]{"com.google"}; Intent intent = AccountPicker.newChooseAccountIntent(null, null, accountTypes, false, null, null, null, null); activity.startActivityForResult(intent, REQUEST_CODE_PICK_ACCOUNT); 我的基本应用程序的主题是android:Theme.Light但对话是黑暗的。 谢谢。