Failed to Generate Signed Apk - An organization slug is required (provide with --org)

不想你离开。 提交于 2019-12-29 08:40:12

问题


After setting up the Sentry.io error tracking I get this error when I try to Generate Signed Apk:

Java Compiler
error: An organization slug is required (provide with --org)

Click on this image and open it to see more details:

I cannot understand anything from this one:

Process 'command
'/var/folders/j4/_fzm1rks3tsc2h3j4l2qbq4w0000gn/T/.sentry-cli1369818638611304938.exe'
' finished with non-zero exit value 1

This is the file address that was raised in error:

How can I solve this problem and Generate Signed Apk?


回答1:


The docs are not a bit clear, though its mentioned but easy to miss it. There are two different sentry.properties required here.

Please note the sentry.properties in your project root that configures sentry-cli is different than the one you include in your application resources to configure the Sentry SDK at runtime (as seen in the configuration documentation).

You need to have another sentry.properties file in the project root with

defaults.project=your-project
defaults.org=your-org
auth.token=YOUR_AUTH_TOKEN

and the runtime sentry.properties with DSN values, etc can be placed in app/src/main/resources directory(create resource directory if required)

Config Docs




回答2:


When you enable Proguard minification, symbols are uploaded to Sentry. This upload is done via the sentry-cli, which is throwing the error. The error says the CLI doesn't know which project within Sentry to associate your symbols with. You need to make sure to go through the gradle integration in the docs. Specifically:

defaults.project=airflow
defaults.org=sentry
auth.token=YOUR_AUTH_TOKEN

Alternatively you can use sentry-cli directly to upload symbols, although the gradle integration is advised.




回答3:


I guess that setting false value to minifyEnabled may solve the problem and actually it worked!

app/build.gradle:

buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

but it added 1.3MB to the size my of Apk file.

Please let me know if anyone has a different better solution.




回答4:


You need to upload the Proguard mapping file to the sentry server.

create a file in the root project folder and set name sentry.properties.

defaults.url=https://sentry.io
defaults.org=TEST
defaults.project=TEST_DEV
auth.token=TOKEN

replace TEST, TEST_DEV, and TOKEN.

you can get TOKEN from https://sentry.io/api

if you are use custom sentry server, replace https://sentry.io to https://sentry.io to your server.

and change file build.gradle

buildscript {

    dependencies {

        classpath 'com.android.tools.build:gradle:3.5.2'

        classpath 'io.sentry:sentry-android-gradle-plugin:1.7.27'

    }
}

and

apply plugin: 'com.android.application'
apply plugin: 'io.sentry.android.gradle'

...

sentry {
  autoProguardConfig true
  autoUpload true
}

android {
  ...
}
dependencies {

     ...

     implementation 'io.sentry:sentry-android:1.7.27'
     implementation 'org.slf4j:slf4j-nop:1.7.25'

     ...
}



回答5:


instead of making

minifyEnabled false

Just add these rules to proguard rules file and keep minifyEnabled true

#sentry
-keepattributes LineNumberTable,SourceFile
-dontwarn org.slf4j.**
-dontwarn javax.**
-keep class io.sentry.event.Event { *; }

That solved my issue without disabling minification



来源:https://stackoverflow.com/questions/53369887/failed-to-generate-signed-apk-an-organization-slug-is-required-provide-with

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!