Android Studio匯出Jar包並混淆
在Android Studio中,自帶反編譯檢視class檔案,如果沒有混淆的話,class檔案跟java檔案基本沒有區別了,為了保護,還是混淆的好。
網上看了不少資料,都是直接下載proguard額外jar,直接生成,覺得不方便,既然apk都能混淆,為什麼不直接通過Android Studio來混淆jar包呢。
做法其實很簡單,一個build檔案,一個proguard檔案就可以了。
首先要明白jar從哪裡來,以前在Eclipse中是一個project設定為library,然後另外一個主project依賴它。build一下,在library中就會生成jar檔案了。
在Android Studio是module的概念,其實也相當於project。主app module依賴其它子module,在打包時,會將其它module打成aar,賦給主app。所以jar是針對整個module來make的。
如果module內僅僅是java程式碼,生成jar是沒問題的,但如果還有resource檔案,那就得打aar檔案了。
在你要打jar包的module build檔案中,加上一個生成jar包的task。其實即使不新增,在整個工程build時也會生成jar檔案的。在build/intermediates/bundles/release/classes.jar可以找到。只是沒混淆罷了。
task makeJar(type: proguard.gradle.ProGuardTask, dependsOn: "build") {
// 未混淆的jar
injars 'build/intermediates/bundles/release/classes.jar'
// 混淆後的jar路徑
outjars 'build/http.jar'
// 具體需要keep住的類
configuration 'proguard-rules.pro'
}
這個時候,在Termial中就輸入./gradlew makeJar就能將classes.jar複製倒http.jar了。這個時候還是沒混淆的,因為混淆根本沒寫。
如果module中同時也依賴其它libs,那需要在proguard中宣告那些libs。比如:#-libraryjars libs\gson-2.2.2.jar,大部分都跟apk混淆類似的,只不過是侷限於某個module而已。
附送一個proguard供大家參考,也是網上找的。最後混淆效果並不是很好,只是簡單的將部分變數改成了abcd這樣,不過也夠了。總不能將方法也混淆,這樣外部呼叫就麻煩了。
相關推薦
Android Studio匯出Jar包並混淆
在Android Studio中,自帶反編譯檢視class檔案,如果沒有混淆的話,class檔案跟java檔案基本沒有區別了,為了保護,還是混淆的好。 網上看了不少資料,都是直接下載proguard額外jar,直接生成,覺得不方便,既然apk都能混淆,為什麼不直接通過Android Studio來混淆jar
Android Studio使用gradle匯出jar包並混淆程式碼程式碼記錄一
建立一個Android module 和一個AndroidLibrary module 在jardemo下的gradle檔案中編寫對應的導Jar包Task和混淆Task 1.導Jar包Task task makeJar(type: Jar, depen
【Android】Android Studio使用gradle匯出jar包並混淆程式碼
整理下最近工作中混淆程式碼時遇到的問題,gradle混淆指令碼Android Studio 使用 Gradle 打包 Jar感謝這位博主。 打jar包 task makeJar(dependsOn: ['compileReleaseJavaWithJavac
android studio開發 匯出Jar包並在unity3d中使用
【匯出JAR包】 首先模組專案只能是library,而不能是application。如果除了打包程式碼還有資源的話,需要打包成aar包。 1、在app目錄下的 build.gradle檔案中 添下程式碼: apply plugin: 'com.android.lib
Android studio和Eclipse分別生成jar包並混淆jar包
開發者有時在開發專案需要提供SDK給別人呼叫,這就需要開發者把自己程式碼做個jar或者lib或者aar形式提供給出去,在eclipse中往往需要把程式碼生成jar編譯混淆下後和資原始檔一併提供,還有一種是做成library形式提供出去,而在stud
android studio生成aar包並在其他工程引用aar包
file jar 源碼 tool details bsp pbo key com 1.aar包是android studio下打包android工程中src、res、lib後生成的aar文件,aar包導入其他android studio 工程後,其他工程可以方便引用源碼和資
大資料基礎之如何匯出jar包並放在hdfs上執行
我口才不好,文字描述也不行,但是基本邏輯是通的。 匯出jar包1.首先完成mapper和reducer還有main方法的編碼2。右鍵點選peopleinfo的包,選擇export-》Java-》JAR file,點選NEXT3.輸入jar包名稱以及匯出地址,點選next->next4.點選Browse
Android studio 生成jar包成功卻找不到檔案——解決。
Andriod studio 版本3.1.2, 3.1.2 classes.jar的路徑 from('build/intermediates/packaged-classes/release/') 複製classes.jar的路徑,在老版本中路徑結構('build/intermediates
利用Android Studio 打Jar包
在Android Studio專案中建立一個Model,把需要打成Jar包的Java程式碼放到Model 中 在Model的build.gradle檔案中新增如下程式碼 android{ lint
android studio 打jar包
都知道androidStudio對於library型別的Moudle打出的包都是arr 那如何打jar的包呢? 可以這樣實現: 通過Moudle中的build.gradle注入Task來實現. task makeJar(type: Copy) { //刪除存在的
Android Studio 引入Jar包,Jar包衝突問題總結
在整合環信聊天SDK的時候,真是遇到了好多坑啊,真是白了少年頭,而Jar包衝突相信很多人都遇到過吧, 首先你必須熟悉幾個Android Studio導包的方式和特點: 方式1:直接引用下載網路jar包 compile ‘com.Android.supp
android studio 生成Jar包的方式
想要將一個專案匯出為jar包,供其它專案使用,在eclipse中可以直接匯出該專案為jar包,而 在AS中可以通過修改gradle才處理。接下來就介紹下具體的步驟:1、新建一個專案,專案名隨意,test,在專案中新建一個module型別為android-library ,命名
Android studio生成jar包
1.將app依賴一個moudle。 2.執行app。這是在build/intermediates/bundles/debug or release/目錄下回看到一個classer.jar (這個就是生成的jar) 3.在moudle 的build.gradle中新增如下程
Android Studio 匯出aar包供Unity呼叫
前言 專案之前使用Eclipse匯出的jar檔案來做與Android互動,最近因為工作需要需使用Android Studio的aar檔案,網上參考了部分文章,也結合自己的理解重新整理一下具體的方法,通過寫一個測試Demo來表述Android Studio建立aar的
Android專案:第三方Jar包proguard混淆之常見開源專案混淆配置
9、pinyin4j -dontwarn net.soureceforge.pinyin4j.** -dontwarn demo.** -libraryjars libs/pinyin4j-2.5.0.jar -keep class net.sourceforge.piny
Android studio關於Jar包 與aar包的匯入與使用
1.匯入aar 包 匯入aar包需要在build.gradle中新增引數 dependencies { compile(name:'myaartest',ext:'aar') } repositories{ flatDir{ dirs '
Android Studio 重複jar包衝突問題
匯入一個新專案,同時用到了v4,v7都是22.1.1包, compile ('com.android.support:support-v4:22.1.0') compile('com.android.support:appcompat-v7:22.1.0')
Android studio生成jar包,及上傳Jcenter
Android studio生成jar Android studio在gradlew build 的時候會生成build資料夾. 然後可以找到build/intermediates/bundles/release/classes.jar檔案 這
使用 Android Studio 生成jar包
對於用慣eclipse的猿猴來說,將程式作為library,工具程式讓第三方使用,那是相當的方便,用eclipse工具使工程生成jar包這裡就不再描述了。可在Android Studio中確實麻煩啊,必須在新建得時候選擇是否是作為library建立工程還是以applicat
Android動態載入Jar包並實現Native方法
一直以來,在Android專案中引用第三方SDK都是將其複製到lib目錄下,根據開發環境的不同進行配置(在Android studio中需要使用工具進行新增File dependency到gradle中),便可直接呼叫內部方法進行實現。 現因公司的需求所以更改了引用Jar包