ProGuard AWS SDK

szavazat
2

Saját Android app nem exportál Eclipse amikor ProGuard engedélyezve problémák miatt az Amazon AWS SDK.

Én a verzió 1.6.1 Az AWS SDK for Android.

A hibák jelentkezve a konzolra az alábbiakban mutatjuk be.

Már majd az ajánlott ProGuard Config beállításokat által nyújtott Amazon hiába: https://mobile.awsblog.com/post/Tx2OC71PFCTC63E/Using-ProGuard-with-the-AWS-SDK-for-Android

Én is próbáltam, kivéve az Amazon osztályok ProGuard Config, de ez sem működik.

Mert mit megéri, én már letöltött Amazon saját példája projektek és engedélyezett ProGuard, mint egy saját utasításait és megkapja ugyanazt ProGuard hibák, amikor az exportáló a projekt.

Tud valaki mutatni nekem, hogy egy működő ProGuard config használata az AWS SDK?

Ezek az üvegeket az én projekt:

Simpl3r-1.0.2.jar
aws-android-sdk-1.6.1-core.jar
androidplot-core-0.6.0-sources.jar
universal-image-loader-1.8.6-with-sources.jar
android_lvl.jar
androidplot-core-0.6.0-javadoc.jar
androidplot-core-0.6.0.jar
gson-2.2.4.jar
date4j.jar
crittercism_v3_0_3_sdkonly.jar
aws-android-sdk-1.6.1-s3.jar 
android-support-v7-appcompat.jar
CWAC-AdapterWrapper.jar 
cwac-endless-master.jar
android-support-v4.jar

Saját ProGuard Config a következő:

-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-verbose
-dontoptimize
-dontpreverify

-keepattributes *Annotation*
-keep public class com.google.vending.licensing.ILicensingService
-keep public class com.android.vending.licensing.ILicensingService

# For native methods, see http://proguard.sourceforge.net/manual/examples.html#native
-keepclasseswithmembernames class * {
    native <methods>;
}

# keep setters in Views so that animations can still work.
# see http://proguard.sourceforge.net/manual/examples.html#beans
-keepclassmembers public class * extends android.view.View {
   void set*(***);
   *** get*();
}

# We want to keep methods in Activity that could be used in the XML attribute onClick
-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}

# For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}

-keepclassmembers class **.R$* {
    public static <fields>;
}

# The support library contains references to newer platform versions.
# Don't warn about those in case this app is linking against an older
# platform version.  We know about them, and they are safe.
-dontwarn android.support.**


# AWS:
-keep class org.apache.commons.logging.**               { *; }
-keep class com.amazonaws.services.sqs.QueueUrlHandler  { *; }
-keep class com.amazonaws.javax.xml.transform.sax.*     { public *; }
-keep class com.amazonaws.javax.xml.stream.**           { *; }
-keep class com.amazonaws.services.**.model.*Exception* { *; }
-keep class org.codehaus.**                             { *; }
-keepattributes Signature,*Annotation*

-dontwarn javax.xml.stream.events.**
-dontwarn org.codehaus.jackson.**
-dontwarn org.apache.commons.logging.impl.**
-dontwarn org.apache.http.conn.scheme.**
-dontwarn com.amazonaws.services.securitytoken.**

ProGuard kimenet:

[2013-12-11 15:46:47 - iDukan] Proguard returned with error code 1. See console
[2013-12-11 15:46:47 - iDukan] Note: there were 1 duplicate class definitions.
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.HttpHost: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.HttpVersion: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.ProtocolVersion: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.AUTH: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.AuthOption: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.AuthSchemeRegistry: can't find referenced class org.apache.http.annotation.ThreadSafe
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.AuthScope: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.AuthState: can't find referenced class org.apache.http.annotation.NotThreadSafe
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.AuthenticationException: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.BasicUserPrincipal: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.InvalidCredentialsException: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.MalformedChallengeException: can't find referenced class org.apache.http.annotation.Immutable
[2013-12-11 15:46:47 - iDukan] Warning: com.amazonaws.org.apache.http.auth.NTCredentials: can't find referenced class org.apache.http.annotation.Immutable

...
[2013-12-11 15:46:47 - iDukan] Warning: there were 347 unresolved references to classes or interfaces.
[2013-12-11 15:46:47 - iDukan]          You may need to add missing library jars or update their versions.
[2013-12-11 15:46:47 - iDukan]          If your code works fine without the missing classes, you can suppress
[2013-12-11 15:46:47 - iDukan]          the warnings with '-dontwarn' options.
[2013-12-11 15:46:47 - iDukan]          (http://proguard.sourceforge.net/manual/troubleshooting.html#unresolvedclass)
[2013-12-11 15:46:47 - iDukan] java.io.IOException: Please correct the above warnings first.
[2013-12-11 15:46:47 - iDukan]  at proguard.Initializer.execute(Initializer.java:369)
[2013-12-11 15:46:47 - iDukan]  at proguard.ProGuard.initialize(ProGuard.java:212)
[2013-12-11 15:46:47 - iDukan]  at proguard.ProGuard.execute(ProGuard.java:87)
[2013-12-11 15:46:47 - iDukan]  at proguard.ProGuard.main(ProGuard.java:484)
A kérdést 11/12/2013 17:14
a forrás felhasználó
Más nyelveken...                            


1 válasz

szavazat
5

A hiányzó Apache magyarázat, hogy hivatkozik AmazonAWS valószínűleg ártalmatlan. Azt lehet mondani, hogy figyelmen kívül hagyja ProGuard a problémát:

-dontwarn org.apache.http.annotation.**

vagy tágabban, figyelmen kívül hagyva a megoldatlan referenciák a könyvtárból:

-dontwarn com.amazonaws.**

Amint azt a linket ProGuard hibaelhárítási oldal a konzol log, akkor valószínűleg ezt az összes 347 feloldatlan hivatkozások, feltételezve, hogy a debug verzió az alkalmazás működik.

Válaszolt 12/12/2013 01:07
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more