0
我在我的Android Studio項目中使用了一個jar,。現在,我也希望能夠看到這個源代碼,所以我將secretshare-1.4.1-sources.jar
添加到libs forlder中,而無需將其添加到項目的依賴項中。這使我可以瀏覽圖書館的類別及其來源。如果源jar存在,Gradle不會生成
但問題是,如果我這樣做,我不能建立項目。問題似乎是兩個罐子有相同的類,所以gradle會給出重複的文件錯誤。但是源文件甚至不在build.gradle
文件中。
這裏是我試圖運行示例代碼:
import com.tiemens.secretshare.main.cli.MainSplit;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
...
public static void main(String[] args){
String s = "test message";
String k = "1";
String n = "2";
String[] splitArgs = {"-n", n, "-k", k, "-sS", s};
MainSplit.SplitInput splitInput = MainSplit.SplitInput.parse(splitArgs);
MainSplit.SplitOutput splitOutput = splitInput.output();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
splitOutput.print(ps);
String content = baos.toString(); // e.g. ISO-8859-1
System.out.println(content);
}
}
這裏是的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.sakhuja.ayush.secretsafe"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:21.0.3'
compile files('libs/activation.jar')
compile files('libs/additionnal.jar')
compile files('libs/mail.jar')
compile files('libs/secretshare-1.4.1.jar')
}
,我得到的錯誤信息是:
Error:Gradle: duplicate files during packaging of APK D:\z\Academics\Code\SecretSafe\app\build\outputs\apk\app-debug-unaligned.apk
Error:Gradle: Execution failed for task ':app:packageDebug'.
> Duplicate files copied in APK html/SecretShareApplet.html
File 1: D:\z\Academics\Code\SecretSafe\app\libs\secretshare-1.4.1.jar
File 2: D:\z\Academics\Code\SecretSafe\app\libs\secretshare-1.4.1.jar
如果我從libs文件夾中刪除secretshare-1.4.1-sources.jar
,錯誤就會消失。但我真的想保留它,因爲我想引用圖書館的源代碼。建議?