Tôi đã có thể tạo mã nguồn thư viện cho .jar
tệp đã biên dịch , sử dụng cách tiếp cận từ giải pháp này:
https://stackoverflow.com/a/19037807/1002054
Đây là sự cố về những gì tôi đã làm:
1. Kho thư viện Checkout
Trong trường hợp có thể, nó là một thư viện Volley
2. Nhập thư viện trong Android Studio.
Tôi đã sử dụng Android Studio 0.3.7. Tôi đã gặp một số vấn đề trong bước đó, cụ thể là tôi phải sao chép gradle
thư mục từ dự án android mới trước khi có thể nhập mã nguồn thư viện Volley, điều này có thể khác nhau tùy thuộc vào mã nguồn bạn sử dụng.
3. Sửa đổi build.gradle
tệp của bạn
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.3'
}
}
apply plugin: 'android-library'
android {
compileSdkVersion 17
buildToolsVersion = 17
sourceSets {
main {
java {
srcDir 'src'
}
}
}
}
task clearJar(type: Delete) {
delete 'build/libs/myCompiledLibrary.jar'
}
task makeJar(type: Copy) {
from('build/bundles/release/')
into('build/libs/')
include('classes.jar')
rename ('classes.jar', 'myCompiledLibrary.jar')
}
makeJar.dependsOn(clearJar, build)
4. Chạy gradlew makeJar
lệnh từ gốc dự án của bạn.
Tôi trường hợp của tôi, tôi đã phải sao chép gradlew.bat
và gradle
các tệp từ dự án Android mới vào thư viện gốc của dự án. Bạn sẽ tìm thấy tệp thư viện đã biên dịch của mình myCompiledLibrary.jar
trong build\libs
thư mục.
Tôi hi vọng ai đó thấy nó hữu ích.
Biên tập:
Cảnh báo trước
Mặc dù điều này hoạt động, bạn sẽ gặp phải ngoại lệ thư viện trùng lặp trong khi biên dịch một dự án với nhiều mô-đun, trong đó nhiều hơn một mô-đun (bao gồm cả mô-đun ứng dụng) phụ thuộc vào cùng một jar
tệp (ví dụ: mô-đun có thư mục thư viện riêng, được tham chiếu trong build.gradle
mô-đun nhất định) .
Trong trường hợp bạn cần sử dụng một thư viện trong nhiều hơn một mô-đun, tôi khuyên bạn nên sử dụng phương pháp này:
bản dựng Android gradle và thư viện hỗ trợ