IntelliJで作業し、Github経由でアプリケーションのソースコードをアップロードしてプロジェクトを作成します。IntelliJでJavaクラスに必要な依存関係を指定する方法は?
(私が知る限り)依存関係のためにJavaクラスをコンパイルするのが最も困難です。 Javaクラスの依存関係として必要な.jarファイルは、.idea/librariesフォルダに.xmlファイルとして表示されます。私はView/Tool Windows/Gradleに行き、Tasks/android/androidDependenciesをLOCALの依存関係としてダブルクリックすると表示されます。しかし、私のJavaクラスファイルには、インポートされた.jarファイルの依存関係の変数がありますが、まだ解決できません。 .jarファイルをプロジェクトライブラリに追加しようとすると、Gradleはプロジェクトを同期するように要求し、その結果、プロジェクトライブラリ内の.jarファイルのディレクトリがプロジェクト/アプリケーションファイルに変更され、赤色で壊れた。私がプロジェクトを同期させないと、それらの.jar依存関係から派生したJavaクラスのインスタンスが見つからない(依存関係を参照していない)というコンパイルエラーがあります。
私のapp/build.gradleファイルは次のようになります(正しく動作しない依存関係は最後の4つです:selenium-server-standalone-2.53.0.jar、jacoco-maven-plugin -0.7.7.201606060606.jar、jbrofuzz-core-2.5.jar、java-client-4.0.0.jar)
誰でも私がこれを理解するのを助けることができますか?私は必要に応じてより多くの情報を提供することができます。
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
//noinspection GroovyAssignabilityCheck
defaultConfig {
applicationId "eu.wikijourney.wikijourney"
minSdkVersion 15
targetSdkVersion 22
versionCode 21
versionName '1.2.0'
}
//noinspection GroovyAssignabilityCheck
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
//noinspection GroovyAssignabilityCheck
packagingOptions {
exclude 'META-INF/LICENSE'
exclude 'META-INF/NOTICE'
exclude 'META-INF/DEPENDENCIES'
}
//noinspection GroovyAssignabilityCheck
productFlavors {
}
//noinspection GroovyAssignabilityCheck
lintOptions{ // https://stackoverflow.com/a/32676398/3641865
disable 'MissingTranslation' // So gradle stops complaining about the generated app_version string
// not present in all translations. This is a (not so) ugly hack.
}
// https://stackoverflow.com/a/29525111/3641865
applicationVariants.all { variant ->
variant.resValue "string", "app_version", variant.versionName
}
}
repositories {
mavenCentral()
flatDir {
dirs 'libs'
}
}
//noinspection GroovyAssignabilityCheck
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:22.2.1'
compile 'com.android.support:design:22.2.1'
compile 'com.android.support:recyclerview-v7:22.2.1'
compile 'com.android.support:cardview-v7:22.2.1'
compile 'com.android.support:support-v4:22.2.1'
compile 'com.squareup.picasso:picasso:2.5.2'
compile 'com.loopj.android:android-async-http:1.4.9'
compile 'org.apache.commons:commons-lang3:3.3.2'
compile 'com.google.code.gson:gson:2.3.1'
compile 'org.osmdroid:osmdroid-android:[email protected]'
compile 'com.github.MKergall.osmbonuspack:OSMBonusPack:v5.6'
compile 'com.github.k3b:k3b-geoHelper:v1.1.1'
compile files('selenium-server-standalone-2.53.0.jar')
compile files('jbrofuzz-core-2.5.jar')
compile files('jacoco-maven-plugin-0.7.7.201606060606.jar')
compile files('java-client-4.0.0.jar')
// compile 'com.github.k3b:APhotoManager:k3b-geoHelper:test-libgeo-0.4.7.160321'
}
これを説明してくれてありがとう!私は、私のJavaクラスと同じフォルダにlibsフォルダを作る必要がありますか? –
ここを参照してください。 https://stackoverflow.com/questions/16608135/android-studio-add-jar-as-library –
さて、アプリのフォルダ内に.jarファイルを含むフォルダ "libs"を追加しましたが、私のコードはまだcouldnできませんでした変数などを解決しません。それから私はアプリのフォルダと同じレベルに私の.jarファイルで "libs"フォルダを追加しようとしましたが、どちらもうまくいきませんでした。 –