Tôi làm cách nào để giải quyết các cảnh báo?Proguard nói với tôi 'Hãy sửa các cảnh báo trên trước.'. Làm cách nào để giải quyết các tham chiếu của các jars bên ngoài?
Log nói
[proguard] Note: duplicate definition of library class...
...
[proguard] Note: there were 370 duplicate class definitions.
[proguard] Initializing...
[proguard] Warning: abc.cba..: can't find superclass or interface xyz.zyx....
...
[proguard] Note: the configuration refers to the unknown class 'android.app.backup.BackupAgentHelper'...
...
[proguard] Warning: library class android.content.IntentFilter depends on program class org.xmlpull.v1.XmlSerializer...
...
proguard.cfg
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public class !testAppH23.** { *; }
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
Đây là Android Ant Build với Proguard Bật console log. Xin vui lòng xem các liên kết ant build console log
Đây là build.xml của tôi (về cơ bản Android gốc kịch bản kiến của nó). Xin vui lòng xem các liên kết TestAppH23 Android Ant Build With Proguard Enabled
local.properties
sdk.dir=C:\\androiddev\\android-sdk-windows
build.properties
proguard.config=proguard.cfg
key.store=testapph23-release.keystore
key.alias=alisname
key.store.password=storepassword
key.alias.password=aliaspassword
default.properties
target=android-7
Lời xin lỗi của tôi cho bài đăng dài. Bất kỳ hướng dẫn nào về đúng hướng đều được đánh giá cao.
UPDATES1 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="testAppH23.activity"
android:versionCode="1"
android:versionName="1.0">
<application
android:icon="@drawable/home"
android:theme="@android:style/Theme.NoTitleBar"
android:label="@string/app_name"
>
<activity
android:name=".start.StartActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Translucent"
android:screenOrientation="portrait"
android:launchMode="singleTask"
>
<intent-filter>
<action
android:name="android.intent.action.MAIN"
>
</action>
<category
android:name="android.intent.category.LAUNCHER"
>
</category>
</intent-filter>
</activity>
.....
<service android:name="com.abc.myjar.papi.PIntentService"></service>
<service android:name=".service.XyzService"></service>
</application>
<uses-library android:name="org.apache.http.entity"/>
<uses-library android:name="org.apache.http.james.mime4j"/>
<uses-permission android:name="android.permission...."/>
<uses-sdk android:minSdkVersion="7" />
</manifest>
Trong trường hợp của tôi khi tôi đã thêm lọ Dropbox và lọ Google Drive, nó đã giúp chỉ thêm -dontwarn org.apache. ** và -dontwarn com.google.android.gms. ** (ngoài proguard-google- api-client.txt tự động được thêm vào bởi trình cắm thêm Eclipse của Google). Không cần phải thêm câu lệnh -dontnote. Có lẽ bởi vì tất cả các cảnh báo đã biến mất và không có lý do gì để "lưu ý" về bất kỳ vấn đề nào. Cảm ơn bài đăng của bạn. – petrsyn