一雹顺、新建一個工程,new一個Module廊遍,選擇library
b9ef5ae4d4834dd5707d49d708f9ed9.png
image.png
將需要打包成jar的文件導入:
image.png
二嬉愧、在Module的build.gradle中加入下列代碼:
apply plugin: 'com.android.library'
android {
compileSdkVersion 26
defaultConfig {
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support:support-annotations:26.1.0') {
force = true
}
implementation 'com.android.support:appcompat-v7:26.1.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
task makeJar(type: Copy) {
//刪除存在的
delete 'build/libs/myjar.jar'
//設置拷貝的文件
from('build/intermediates/bundles/release/')
//打進jar包后的文件目錄
into('build/libs/')
//將classes.jar放入build/libs/目錄下
//include ,exclude參數(shù)來設置過濾
//(我們只關心classes.jar這個文件)
include('classes.jar')
//重命名
rename ('classes.jar', 'VPNSDK.jar')
}
makeJar.dependsOn(build)
如不需要混淆,則將 minifyEnabled設為false昧碉,開啟混淆后需要在proguard-rules.pro文件中進行配置
-keep public class net.ttxc.l4proxyard.L4ProxyArd{
public protected *;
}
將不需要混淆的類進行排除
三英染、在Android Studio的最下方打開Terminal揽惹,指定工程存在的目錄被饿,輸入:gradlew makeJar(注意makeJar跟你在gradle中聲明的方法名一直即可),然后就可以在你指定的目錄里找到你打包好的jar搪搏。
image.png