2015-07-20 65 views
6

我尝试使用以下gradle这个命令与风味APK上传:gradle这个命令:crashlyticsUploadDistributionRelease风味

./gradlew assembleDevRelease crashlyticsUploadDistributionDevRelease

然而,它与下面的异常日志失败:

Caused by: com.crashlytics.tools.android.exception.DistributionException: Crashlytics halted compilation because it had a problem uploading the distribution.Project dev is inactive 
    at com.crashlytics.tools.android.DistributionTasks.uploadDistribution(DistributionTasks.java:91) 
    at com.crashlytics.tools.android.DeveloperTools.processProperties(DeveloperTools.java:583) 
    ... 58 more 

它好像我的Fabric帐户上没有包名匹配,但是当我执行以下命令时,它发现它:

./gradlew tasks --all app:crashlyticsUploadDistributionDevRelease - Uploads an APK to Crashlytics for distribution.

为什么我无法分发我的应用程序?

build.gradle文件:

productFlavors { 
    dev { 
     applicationId "mypackagename.dev" 
    } 
    alpha { 
     applicationId "mypackagename.alpha" 
    } 
    beta { 
     applicationId "mypackagename.beta" 
    } 
    product { 
     applicationId "mypackagename" 
    } 

回答

16

如果您看到此错误:

Project is inactive.

这意味着你的项目还没有在织物后端被完全激活。建立你的应用程序后,一定要运行应用程序,这将完成激活,以便你可以分发你的应用程序。

+0

是的,因为我无法手动在Crashlytics上创建一个新项目,所以我必须在AS中创建一个“NEW PROJECT”,导入结构库并在Manifest中设置与“flavor”相同的包名,上传这个新的项目到结构,那么“风味”的包名将被激活。但是我认为当我使用“flavor”上传时,结构可能知道它是一个新项目(因为packagenmae不同),所以自动在Crashlytics上创建一个新项目。 – user3814793

+0

感谢这些细节,将在内部共享它们,但是对于每个不同的包名,需要在分发应用程序之前构建和运行这些味道/项目。 –