Не могу создать подписанный APK - PullRequest
0 голосов
/ 18 мая 2018

Я разрабатывал приложение для Android Studio, протестировал и готов опубликовать в Google Play.

Когда я пытался создать подписанный APK, после создания ключей сборка gradle останавливаетсясо следующим сообщением:

Please correct the above warnings first.

После долгих исследований я обнаружил, что проблема может быть в build.gradle (Модуль: приложение), и я прочитал, что отсутствует эта строка:

lintOptions {
    checkReleaseBuilds false
    abortOnError false
}

Но даже с этими строками это не сработает.Вот сообщение:

Error

РЕДАКТИРОВАТЬ:

вот мой build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "br.com.companyname.appname"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "2018.05.11 v2"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    lintOptions {
        checkReleaseBuilds false
        abortOnError false
    }
}

dependencies {
    implementation project(path: ':componentsutils')
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'


    implementation group: 'org.apache.commons', name: 'commons-text', version: '1.2'
    implementation group: 'commons-io', name: 'commons-io', version: '2.4'
    implementation 'com.android.support:design:27.1.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:palette-v7:27.1.1'
    implementation 'com.squareup.retrofit:retrofit:1.9.0'
    implementation 'com.squareup.okhttp:okhttp:2.7.5'
    implementation 'com.github.d-max:spots-dialog:0.4@aar'
    implementation 'com.github.barteksc:android-pdf-viewer:2.8.2'
    implementation 'br.com.livroandroid:android-utils:1.0.2'
    implementation 'com.android.support:exifinterface:27.1.1'
}

РЕДАКТИРОВАТЬ2

Углубившись в ошибку сборки, я нашел эту Stacktrace:

StackTrace error

Ответы [ 2 ]

0 голосов
/ 21 мая 2018

Похоже, у вас проблемы с конфигурацией ProGuard.

Здесь - это описание ProGuard на сайте разработчиков Android, в основном это инструмент, который выполняет несколько вещей, включая удалениекод, который он считает ненужным.Проблема в том, что часто он удаляет код, необходимый для запуска или даже сборки, как в вашем случае.Чтобы решить эту проблему, вы можете сделать две вещи:

  1. Отключить ProGuard:

Добавить

android {
    ...
    buildTypes {
        release {
            minifyEnabled false
            ...
        }
    }
    ...
}

в файл build.gradle уровня приложения.

Укажите правила, чтобы ProGuard сохранял необходимые файлы.

В этом случае вы сохраняете настройки

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

И вам необходимо отредактировать файл proguard-rules.pro.Он должен находиться в том же каталоге, что и файл уровня приложения build.gradle.Обычно каждая библиотека предоставляет правила proguard на своем веб-сайте, например, у retrofit они находятся внизу страницы.Просмотрите все свои библиотеки и добавьте все необходимые правила в ваш файл proguard-rules.pro.

0 голосов
/ 18 мая 2018

У меня была эта ошибка сегодня и потраченные впустую часы.Я сделал это

  1. Обновлены все зависимости приложений, такие как google.gms и google.support библиотеки.
  2. Обновлена ​​версия оболочки Gradle в файле gradle-wrapper.properties.
  3. Обновленная версия плагина Gradle на уровне проекта build.gradle.

Если вы спросите меня, где вы найдете последнюю версию

Вы получите предложение по всем этимтри, просто примите предложение с ключом alt + enter.

...