Android Studio(Gradle)中的java library模塊如何使用Proguard混淆代碼

參考:

https://stackoverflow.com/questions/40616077/using-proguard-in-java-modules-android-studio

https://segmentfault.com/a/1190000010338331


Project:

? ? -app (android application)

? ? -common (java library)

? ? ? ? -build.gradle

? ??????import proguard.gradle.ProGuardTask

? ??????buildscript {

? ??????????classpath"net.sf.proguard:proguard-gradle:5.3.3"

? ? ? ? }

? ??????task proguardFiles(type: ProGuardTask,dependsOn: compileJava) {

????????????// make jar task wait for proguardFiles task finish

? ? ????????tasks.jar.dependsOn.add(proguardFiles)

????????????println"proguarding"

? ? ????????// build\classes\java\main

? ? ????????println"${sourceSets.main.java.outputDir}"

? ????? ????// main classes

? ? ????????println"${sourceSets.main.output}"

? ? ????????printmapping"$buildDir/mapping.txt"

? ? ????????configuration'proguard-rules.pro'

? ? ????????libraryjars files(configurations.compile.findAll {}.collect())

????????????injarssourceSets.main.output

? ? ????????// setup proguard output classes: output not .jar

? ? ????????outjars"$buildDir/libs/${project.name}"

? ? ????????// delete previous outputs

? ? ????????delete"$buildDir/libs/${project.name}"

? ? ????????// replace the original classes

? ? ????????doLast {

????????????????println"copying product"

? ? ? ? ????????// delete original classes in "${sourceSets.main.java.outputDir}"

? ? ? ? ????????delete"${sourceSets.main.java.outputDir}"? //"${sourceSets.main.output.classesDir}"

? ? ? ? ????????copy {

????????????????????from"$buildDir/libs/${project.name}"

? ? ? ? ? ? ????????// copy proguard outputs into "${sourceSets.main.java.outputDir}"

? ? ? ? ? ? ????????into"${sourceSets.main.java.outputDir}"? //"${sourceSets.main.output.classesDir}"

? ? ? ? ????????}

????????????}

????????}



依賴的jar需不需要打包進(jìn)來,如果需要怎么搞?

如何在該模塊內(nèi)區(qū)分release/debug,讓debug不混淆?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • demo鏈接在文末。 在Android Studio中有3種方法生成so文件。 最初的時候,我曾經(jīng)使用過Visua...
    梧葉已秋聲閱讀 34,239評論 5 26
  • 項目背景 聚合收銀臺一直在滴滴內(nèi)部使用,我們在編譯的時候需要配置滴滴內(nèi)部maven庫,編譯時必須連接公司內(nèi)網(wǎng);因雄...
    goolong閱讀 19,179評論 6 9
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,578評論 19 139
  • 1.介紹 如果你正在查閱build.gradle文件的所有可選項,請點擊這里進(jìn)行查閱:DSL參考 1.1新構(gòu)建系統(tǒng)...
    Chuckiefan閱讀 12,365評論 8 72
  • 時間即將進(jìn)入 3 月份,而隨著“315”消費者權(quán)益日的臨近,針對網(wǎng)購?fù)对V和糾紛的關(guān)注度也開始升溫。 按計劃,《網(wǎng)絡(luò)...
    明天會是晴天閱讀 456評論 0 0

友情鏈接更多精彩內(nèi)容