最近公司python的同事在搞抖音的逆向,需要我配合搞一個(gè)jar包,之前也是很少打jar包的,于是度了一下,下面就簡(jiǎn)單的介紹下我的操作,以作記錄,有興趣的同學(xué)可以看下,歡迎交流。
一、AS新建一個(gè)項(xiàng)目,寫完需要的代碼,然后修改項(xiàng)目module中的gradle文件,最后在AS右側(cè)Gradle任務(wù)中找到module中對(duì)應(yīng)的gradle任務(wù),雙擊,就這樣,jar包就出來(lái)了。具體步驟下面詳細(xì)介紹
1.新建AS項(xiàng)目,這個(gè)就不詳細(xì)說(shuō)了;
2.在項(xiàng)目中編輯自己需要的代碼和功能,這個(gè)也不說(shuō)了;
3.在module的build.gradle文件中的android下添加對(duì)應(yīng)的任務(wù),修改application為library,注釋掉defaultConfig中的包名,代碼如下:
//apply plugin: 'com.android.application'
apply plugin: 'com.android.library'
android {
//...略
defaultConfig {
//applicationId "com.xxx"
minSdkVersion 16
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
task makeJar(type: Copy) {
//刪除存在的
delete 'build/libs/myJar.jar'
//設(shè)置拷貝的文件
from('build/intermediates/aar_main_jar/release/')
//打進(jìn)jar包后的文件目錄
into('build/libs/')
//將classes.jar放入build/libs/目錄下
//include ,exclude參數(shù)來(lái)設(shè)置過(guò)濾
//(我們只關(guān)心classes.jar這個(gè)文件)
include('classes.jar')
//重命名
rename ('classes.jar', 'myJar.jar')
}
makeJar.dependsOn(build)
4.在AS右側(cè)Gradle中找到對(duì)應(yīng)的makeJar任務(wù),雙擊;
5.在module中的build下的libs中就能看到對(duì)應(yīng)的jar包;
- 注釋:
我們的需求中用了so文件,需要將so文件打到j(luò)ar包中使用里邊的方法,試了好久,最后因?yàn)橹挥卸兑舻腶rmeabi-v7a的so,沒(méi)有x86_64(AMD 64)的so,所以就到此結(jié)束了!
關(guān)于將so、jar打包到j(luò)ar中的,推薦文章如下:
https://blog.csdn.net/s569646547/article/details/51822014
https://blog.csdn.net/weixin_42574892/article/details/105707035
-
參考鏈接
https://blog.csdn.net/xiayiye5/article/details/79639044(根據(jù)不同的AS版本任務(wù)配置有所不同)