Я пытаюсь сгенерировать apk с подписью, но у меня появляется следующая ошибка:
Lint found fatal errors while assembling a release target.
To proceed, either fix the issues identified by lint or modify your build script as follows:
...
android {
lintOptions {
checkReleaseBuilds false
// Or, if you prefer, you can continue to check for errors in release builds,
// but continue the build even when errors are found:
abortOnError false
}
}
...
Итак, я начал смотреть, как решить проблему, и ударил головой по этому вопросу. и я нашел некоторую полезную информацию.
На практике в ..\app\build\reports\
есть файл с именем \lint-results-release-fatal.html
, содержащий причину ошибки:
Duplicate Platform Classes
../../build.gradle: commons-logging defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for httpclient use HttpUrlConnection or `okhttp` instead), or repackaging the library using something like jarjar.
../../build.gradle: `httpclient` defines classes that conflict with classes now provided by Android. Solutions include finding newer versions or alternative libraries that don't have the same problem (for example, for `httpclient` use HttpUrlConnection or `okhttp` instead), or repackaging the library using something like jarjar.
Извините, если чтение может быть скучным, но я пытаюсь объяснить шаг за шагом ...
Поэтому я продолжал искать, пока не застрял после этого вопроса . В основном совет состоит в том, чтобы добавить эти две строки кода, чтобы исключить повторяющиеся классы:
configurations {
all {
exclude module: 'httpclient'
exclude module: 'commons-logging'
}
}
К сожалению, возникает проблема, когда я снова собираюсь компилировать приложение, я получаю эту ошибку, которую не могу решить:
error: cannot access ContentType
class file for org.apache.http.entity.ContentType not found
Я действительно думаю, что исключение модуля httpclient и вышеупомянутая ошибка связаны, но я могу ошибаться ...
Это некоторая полезная информация:
Android Studio 3.5.1
Build #AI-191.8026.42.35.5900203, built on September 25, 2019
JRE: 1.8.0_202-release-1483-b03 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
Еще раз спасибо за чтение здесь, и если у вас есть решение или предложение, добро пожаловать!
14: 54 05/11/19
Добавьте другую информацию, которая может дать вам более полное представление о ситуации
compileSdkVersion 28
defaultConfig {
applicationId "com.example.app"
minSdkVersion 22
targetSdkVersion 28
versionCode 2
versionName "21.19.08.27"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
multiDexEnabled true
}
16: 35 05/11/2019
Здесь есть зависимости
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.recyclerview:recyclerview-selection:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.android.material:material:1.1.0-alpha07'
implementation 'com.google.code.gson:gson:2.8.5'
implementation 'com.williamww:silky-signature:0.1.0'
implementation 'com.afollestad.material-dialogs:core:0.9.1.0'
implementation 'com.weiwangcn.betterspinner:library-material:1.1.0'
implementation 'com.weiwangcn.betterspinner:library:1.1.0'
implementation 'org.apache.httpcomponents:httpmime:4.3.6'
implementation 'com.ajts.androidmads.sqliteimpex:library:1.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.2.0'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
}
10: 14 08/11/2019
Ранее я не упомянул использование useLibrary 'org.apache.http.legacy'
10: 22 11/11 / 2019
Я создал копию ошибки, которую я получаю в следующем проекте github .
Поэтому моя цель - иметь возможность компилировать и использовать следующие классы:
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.mime.MultipartEntity;
import org.apache.http.entity.mime.content.InputStreamBody;
import org.apache.http.entity.mime.content.StringBody;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;