我想在Android Studio中编译一个jar文件,到目前为止这个工作,问题是当我想在Unity3D中读取它时,我不能。我发现这是因为jar包含.java源而不是.class文件。
我使用下面的gradle文件: apply plugin:'com.android.library'
android {
compileSdkVersion 25
buildToolsVersion "23.0.3"
defaultConfig {
minSdkVersion 15
targetSdkVersion 25
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:25.1.1'
compile 'com.google.android.gms:play-services:8.4.0'
compile 'com.android.support:design:25.1.0'
}
task clearJar(type: Delete) {
delete 'build/libs/mysdk.jar'
}
task makeJar(type: Copy) {
from('build/intermediates/bundles/release/')
into('release/')
include('classes.jar')
rename ('classes.jar', 'mysdk.jar')
}
makeJar.dependsOn(clearJar, build)
task jarTask(type: Jar) {
baseName="my-sdk-android"
from 'src/main/java'
}
task createJarWithDependencies(type: Jar) {
baseName = "my-sdk-android-jar-with-dependencies"
from {
configurations.compile.collect {
it.isDirectory() ? it : zipTree(it)
}
}
with jarTask
}
configurations {
jarConfiguration
}
artifacts {
jarConfiguration jarTask
}
我是新手,所以如果我必须抓住我的档案,请让我知道用什么代码代替什么代码。
提前致谢! :)
答案 0 :(得分:0)
您可能将错误的文件夹放入jar文件中。 Android Studio和Cradle 执行将Java文件编译为类文件。您只需要找到这些类文件所在的正确文件夹。
答案 1 :(得分:0)
我通过手动将类文件拖到jar文件中来解决这个问题。这现在有效。