小编Rya*_*n C的帖子

升级到谷歌播放服务8.4.0后,我的应用程序在启动时崩溃

我以前一直使用谷歌播放服务8.3.0没有任何问题.我正在寻求升级到谷歌播放服务8.4.0.我正在使用以下播放库:

compile 'com.google.android.gms:play-services-analytics:8.4.0'
compile 'com.google.android.gms:play-services-location:8.4.0'
compile 'com.google.android.gms:play-services-gcm:8.4.0'
Run Code Online (Sandbox Code Playgroud)

当我启动应用程序时崩溃,使用以下日志.

12-27 03:01:33.915 20567-20567/com.ryanc.android.stage.debug E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.ryanc.android.stage.debug, PID: 20567
    java.lang.NoSuchMethodError: No static method zzz(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzx; or its super classes (declaration of 'com.google.android.gms.common.internal.zzx' appears in /data/app/com.ryanc.android.stage.debug-1/base.apk:classes17.dex)
    at com.google.android.gms.measurement.internal.zzw.zzaT(Unknown Source)
    at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1696)
    at android.content.ContentProvider.attachInfo(ContentProvider.java:1671)
    at android.app.ActivityThread.installProvider(ActivityThread.java:4999)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:4594)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4534)
    at android.app.ActivityThread.access$1500(ActivityThread.java:151)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1364)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:135)
    at android.app.ActivityThread.main(ActivityThread.java:5254)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
Run Code Online (Sandbox Code Playgroud)

编辑:不确定它会有所帮助,但在@gerardnimo请求这里是完整的build.gradle文件.另外值得注意的是,我已尝试从我的计算机上清理构建并删除并重新安装播放服务sdks.

apply plugin: 'com.android.application'
apply plugin: 'checkstyle' …
Run Code Online (Sandbox Code Playgroud)

crash android google-play-services

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

NFC即时应用

我正在尝试通过NFC打开即时应用程序.

我的AndroidManifest.xml中有类似下面的内容

            <intent-filter android:autoVerify="true">
            <action android:name="android.intent.action.VIEW" />
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data android:scheme="https" />
            <data android:scheme="http" />
            <data android:host="example-refresh.herokuapp.com" />
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)

从链接转到https://example-refresh.herokuapp.com(显然是示例链接)时,单击即时应用正确加载.当从nfc标签打开该链接时,浏览器就会加载.我已经尝试过让nfc打开一个AAR(https://developer.android.com/guide/topics/connectivity/nfc/nfc.html#aar)这会导致当应用程序没有打开游戏商店链接时安装时,安装和应用程序正确打开nfc.如果我在nfc上有其他东西,所以它显示了消歧的选项,那么我可以为浏览器选项选择即时应用程序,但我希望它默认为即时应用程序.

是否有一些我缺少一个nfc标签来加载即时应用程序?我也试过使用分支,但没有运气.

android nfc deep-linking branch.io android-instant-apps

15
推荐指数
1
解决办法
818
查看次数

保持产品风格不会影响Android Studio中的构建时间

我的应用目前有5种不同的产品口味.原因并非如此重要,在我的控制之下,但基本上我们需要这么多产品口味来针对具有不同测试数据的不同测试服务器.

    prod {
        applicationId "com.us.android"
    }

    stage {
        applicationId "com.us.android.stage"
    }

    qa {
        applicationId "com.us.android.qa"
    }

    dev {
        applicationId "com.us.android.dev"
    }

    legacy {
        applicationId "com.us.android.legacy"
    }
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是每当我创建一个新版本时,都会构建所有产品风格.因此,对于我的项目构建它需要大约50秒,如果我要评论所有,但我关心的构建时间下降到大约10秒.如果它只是我,那么评论它们是很好的,但如果我不小心提交了已注释的版本,那么当我们尝试在其他地方构建时,这将导致更多问题.

我的问题是,是否有任何干净的方法可以使它在本地开发中只构建我需要的构建,但我仍然可以根据需要构建其他分支?

我们正在使用Jenkins,我认为它可以帮助我们在不需要担心它们的情况下获得这些构建,但我不确定如何.

编辑:这是一些日志,因为这可能会有所帮助.

这是我们拥有所有产品风格但是,构建变体设置为stageDebug:

    Executing tasks: [:us:assembleStageDebug]

Parallel execution with configuration on demand is an incubating feature.
        :api:compileJava
:datePickerLibrary:compileLint
:us:preBuild UP-TO-DATE
:us:preStageDebugBuild UP-TO-DATE
:datePickerLibrary:copyReleaseLint UP-TO-DATE
:us:checkStageDebugManifest
:datePickerLibrary:preBuild UP-TO-DATE
:datePickerLibrary:preReleaseBuild UP-TO-DATE
:datePickerLibrary:checkReleaseManifest
:us:preDevDebugBuild UP-TO-DATE
:datePickerLibrary:preDebugAndroidTestBuild
:us:preDevReleaseBuild UP-TO-DATE
:datePickerLibrary:preDebugAndroidTestBuild UP-TO-DATE
:datePickerLibrary:preDebugBuild UP-TO-DATE
:us:preProdDebugBuild UP-TO-DATE
:datePickerLibrary:preDebugUnitTestBuild UP-TO-DATE
:us:preProdReleaseBuild UP-TO-DATE
:datePickerLibrary:preReleaseUnitTestBuild UP-TO-DATE
:us:preQaDebugBuild UP-TO-DATE
:datePickerLibrary:prepareComAndroidSupportSupportV132100Library
:us:preQaReleaseBuild …
Run Code Online (Sandbox Code Playgroud)

android gradle jenkins android-studio android-gradle-plugin

6
推荐指数
1
解决办法
981
查看次数

不要使用 Android 导航组件在后台堆栈中包含片段

我正在开发一个用户可以创建事件的应用程序。我想这样做,以便在他们创建事件后,后退按钮不会将他们带到创建流程,而是在创建流程之前带到屏幕。就像是:

主屏幕 -> 创建流程 -> 事件摘要

然后如果他们按下后退按钮我希望它去

事件摘要(后退按钮)主屏幕

我已经接近:

<fragment
    android:id="@+id/createMeetFragment"
    android:name=".CreateMeetFragment"
    android:label="CreateMeetFragment" >
    <action
        android:id="@+id/action_createMeetFragment_to_meet_detail_graph"
        app:destination="@id/meet_detail_graph"
        app:popUpTo="@+id/mainFragment" />
</fragment>
Run Code Online (Sandbox Code Playgroud)

这很有效,因为它会弹出到主屏幕。我还没有发现太多的文档,这些弹出行为的选项只是这个

我对这个解决方案的问题是,据我所知,它会一直弹出,直到我们到达 MainScreen,无论用户如何创建事件。我更喜欢在创建流程之前弹出屏幕的解决方案,允许创建流程的多个入口点。

android android-fragments android-navigation android-architecture-navigation

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

Shared element transition between replaced views

I have a view that I'm removing with removeView(), and then a view that is replacing it with an addView(). Both of these views are within a FrameLayout. I would like to be able to do a Shared Element Transition between two shared images in these layouts, but don't really know how to go about doing that as the android tools seems to be built with the (perhaps reasonable) idea that you will only have shared element transitions between activities …

android android-animation android-layout android-view android-transitions

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