Failed to Generate Signed Apk - An organization sl

2020-02-14 03:05发布

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: Error

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: Address in error

How can I solve this problem and Generate Signed Apk?

5条回答
Emotional °昔
2楼-- · 2020-02-14 03:44

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

查看更多
神经病院院长
3楼-- · 2020-02-14 03:46

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.

查看更多
forever°为你锁心
4楼-- · 2020-02-14 03:54

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

查看更多
Luminary・发光体
5楼-- · 2020-02-14 03:56

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'

     ...
}
查看更多
祖国的老花朵
6楼-- · 2020-02-14 04:00

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.

查看更多
登录 后发表回答