我正在编写一个android SDK。我正在使用gradle和android studio。
图例:
问题:
someApp无法识别X.jar中的类
我已经搜索了(差不多一天)用X.jar类生成Y.jar的方法(而不是仅仅在其中包含X.jar文件),但是不幸的是我失败了。我发现许多解决方案不够清晰或不适合我的情况。
非常感谢您的帮助和指导。
这是我的相关代码段(基于此answer):
我的SDK项目的build.gradle代码-创建Y.jar:
apply plugin: 'com.android.library'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 18
targetSdkVersion 21
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
java {
srcDir 'src/main/java'
}
resources {
srcDir 'src/../libs'
}
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:21.0.3'
compile files('libs/X.jar')
}
task clearJar(type: Delete) {
delete 'build/outputs/Y.jar'
}
task makeJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('build/outputs/')
include('classes.jar')
rename ('classes.jar', 'Y.jar')
}
makeJar.dependsOn(clearJar, build)
运行'gradlew makeJar'会在build / outputs目录中生成Y.jar。
最佳答案
好吧,仅对于那些会有类似问题的人,我在这里添加了一个快速的“变通方法”,可以帮助我解决问题。
**这可能不是“官方”方式,但对我有用。
我最终要做的是:
com \ X \ sdk。
注意:请确保您有这样的资源减速:
sourceSets {
main.java.srcDir 'src/main/java'
main.resources.srcDir 'libs'
}
就是这样。我剩下要做的就是调用“gradlew makeJar”,现在我的Y.jar也包括X.jar类。
如果有人有更好的解决方案,请分享:)
关于android - 使用android-plugin构建一个包含其依赖项类的jar文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29064244/