Attualmente sto provando a generare una build di rilascio per un'app in Android Studio. Ho cercato di sbarazzarmi di tutti i problemi durante la generazione della versione di rilascio ma sono bloccato su alcuni problemi.Errori durante la generazione dell'apk firmato: Proguard config
Warning:com.viewpagerindicator.LinePageIndicator: can't find referenced method 'float ceil(float)' in library class android.util.FloatMath
Warning:org.androidannotations.api.rest.RestClientHeaders: can't find referenced class org.springframework.http.HttpAuthentication
Warning:org.androidannotations.api.rest.RestClientSupport: can't find referenced class org.springframework.web.client.RestTemplate
Warning:org.androidannotations.api.rest.RestErrorHandler: can't find referenced class org.springframework.core.NestedRuntimeException
Warning:there were 4 unresolved references to classes or interfaces.
You may need to add missing library jars or update their versions.
If your code works fine without the missing classes, you can suppress
the warnings with '-dontwarn' options.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
Warning:there were 1 unresolved references to library class members.
You probably need to update the library versions.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)
Exception while processing task
java.io.IOException: Please correct the above warnings first.
Sono anche presentato con un errore in cui si afferma
Error:Execution failed for task ':app:packageRelease'.
> Unable to compute hash of /Users/rohanmahale/AndroidStudioProjects/Prism/app/build/intermediates/classes-proguard/release/classes.jar
Nel mio file Gradle ho impostato il seguente
android {
compileSdkVersion 23
buildToolsVersion '23.0.2'
defaultConfig {
applicationId 'com.prism.prismapp'
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
mio elenco di dipendenze sono i segue
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
apt "org.androidannotations:androidannotations:$AAVersion"
compile "org.androidannotations:androidannotations-api:$AAVersion"
compile 'com.android.support:appcompat-v7:23.1.0'
compile 'com.android.support:cardview-v7:23.0.+'
compile 'com.android.support:recyclerview-v7:23.0.+'
compile 'de.greenrobot:eventbus:2.4.0'
compile 'com.joooonho:selectableroundedimageview:1.0.1'
compile 'com.commonsware.cwac:camera:0.6.+'
compile 'com.squareup.retrofit:retrofit:1.9.0'
compile 'commons-io:commons-io:2.4'
compile 'com.facebook.android:facebook-android-sdk:4.7.0'
compile 'com.github.nkzawa:socket.io-client:0.5.2'
compile 'io.nlopez.smartlocation:library:3.2.0'
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') {
transitive = true;
}
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.pixplicity.multiviewpager:library:1.0'
compile 'com.githang:viewpagerindicator:[email protected]'
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
compile 'com.commit451:PhotoView:1.2.4'
compile 'me.villani.lorenzo.android:android-cropimage:1.1.0'
compile ('com.google.android.gms:play-services-analytics:8.1.0') {
exclude module: 'play-services-ads'
}}
Come rimuovere i problemi e creare correttamente la build di rilascio ??
UPDATE:
ero in grado di sbarazzarsi di avvertimento relativi alle annotazioni Android.
io sono rimasto con il seguente problema
Warning:com.viewpagerindicator.LinePageIndicator: can't find referenced method 'float ceil(float)' in library class android.util.FloatMath
Warning:there were 1 unresolved references to library class members.
You probably need to update the library versions.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedlibraryclassmember)
Potrebbe essere a causa 'FloatMath.ceil()' è decrepito. Devi cambiare con 'Math.ceil()'. – Fllo
Come e dove dovrei apportare questa modifica? Fa parte di una biblioteca di viewindicator che ho trovato. – Rohan
In effetti, questo sarà un problema. Ho avuto lo stesso problema ma ho usato la lib nella cartella locale, quindi sono stato in grado di cambiare questi metodi. Ci sono 'private' in LinePageIndicator.java, quindi non so almeno che ottieni questa lib nella cartella locale. – Fllo