Android Studioでjarファイルをコンパイルしたいのですが、これまでのところこれがうまくいきませんでした。問題は、Unity3Dで読み込みたいとき、 。 jarファイルに.classファイルの代わりに.javaソースが含まれていることがわかりました。プラグインを適用 ::私は以下のGradleファイルで作業jadファイルで.javaと.classをコンパイルしない
「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
}
私は私のファイルにチャンスを作るために持っている場合は、私を聞かせてくださいので、私は、Gradleのために新たなんですどのコードを何に置き換えるかを知っている。
ありがとうございます! :)
返信いただきありがとうございます!私はapp/java/packagenameフォルダにあるAndroidスタジオの.javaファイルを持っています(これらは6つの.javaファイルです)。私は彼らが.jarファイルに.classファイルではないことを100%確信しています。それらは.javaファイル(packagename/<とファイル>)としてのみそこにあります。 Antを使って簡単な.jarファイルをビルドしました。これはコンパイルしてクラスを作成します。 私は、Android Studioでgradlew compileJavaコマンドを使用しようとしましたが、これは.jarファイルをビルドするときに得られない奇妙なエラーです。 – davidschep
@davidschepあなたのライブラリにはAndroid固有のコードやリソースが含まれていますか? (汎用Javaとは対照的に)。その場合は、JARではなくAARファイルを作成する必要があります。 –
@davidschepエラーについては、ヘルプを表示するために新しい質問を投稿し、エラーメッセージを含める必要があります。 –