我想在庫模塊中啓用ProGuard,但出現編譯錯誤,該包不存在。在庫模塊中應用ProGuard後爲什麼包不存在?如何在庫模塊中使用ProGuard
庫模塊的build.gradle
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
日誌錯誤
/home/hitesh/Documents/Android Studio Project/ALPR-Sample/app/src/main/java/com/alpr/sample/GalleryActivity.java
Error:(15, 32) error: package com.alprlib.alpr.doc does not exist
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
這裏的文檔類文件存在庫模塊中
ProGuard的文件規則
-keep class com.alprlib.alpr.** { *; }
-keepclassmembers class alprlib.alpr.** {*;}
庫一無所知的消費者。就圖書館而言,沒有人使用它的代碼,所以一切都被proguard刪除。你必須手動告訴proguard不要刪除任何類。只有這樣,您纔可以另外告訴它混淆不屬於圖書館公共API的名稱。 [我已經在這裏了。](http://stackoverflow.com/a/42758629/2444099) –
@EugenPechanec ohh哇!聽起來很不錯。請你詳細解釋一下 –
https://www.guardsquare.com/en/proguard/manual/examples#library –