android studioのbuild.gradle書き方の概要
多くの場合、studioのIDEは需要を満たすことができず、以下のシーンではbuildを手動で修正する必要があります.gradleファイルで構成を変更
プロジェクトにlibsディレクトリの下のすべてのJAR依存を追加
module settingsでmoduleにdependenceを追加する場合は、次のオプションがあります.
1つ目はネットワーク依存support jarパケットを追加でき、2つ目は単一jar依存を増加させ、3つ目はmodule依存を増加させることができる.
libsディレクトリの下にトンのjarがあり、追加するたびに構成を変更しなければならないので、万が一忘れてしまったらよくありません.
次の内容をdependenciesノードに追加できます.
ネットワークJAR依存度の増加
support-v 4などのパッケージは煩わしいので、統一管理のために直接引用することができます.
ただし、IDEで直接修正できるようで、dependenciesノードの下に追加します.
compile 'com.android.support:support-v4:19.1.0'
このセクションもdepenenciesの下にあり、前のセクションとマージできます.
libsディレクトリを変更しました
libsディレクトリを変更し、構成も変更し、androidノードの下で次のように追加します.
NDKでいくつかのライブラリを参照
私のjni層はC++コードを使っていますが、C++とCのJNI関数には違いがあります.
私のプロジェクトではandroidのロゴとC++のSTLライブラリを使用しました.
以前はeclipseのプロジェクトで、C++コードには次のものが含まれていました.
今はgradleファイルのandroiddefaultConfigノードには、次の内容が含まれます.
最後に、私のプロファイルを以下のように貼り付けて参考にします.
プロジェクトにlibsディレクトリの下のすべてのJAR依存を追加
module settingsでmoduleにdependenceを追加する場合は、次のオプションがあります.
1つ目はネットワーク依存support jarパケットを追加でき、2つ目は単一jar依存を増加させ、3つ目はmodule依存を増加させることができる.
libsディレクトリの下にトンのjarがあり、追加するたびに構成を変更しなければならないので、万が一忘れてしまったらよくありません.
次の内容をdependenciesノードに追加できます.
compile fileTree(dir: 'src/main/libs', include: ['*.jar'])
IDEで単一JAR依存を追加するとbuild.gradleファイルの追加に対応する内容は「compile file」ですネットワークJAR依存度の増加
support-v 4などのパッケージは煩わしいので、統一管理のために直接引用することができます.
ただし、IDEで直接修正できるようで、dependenciesノードの下に追加します.
compile 'com.android.support:support-v4:19.1.0'
このセクションもdepenenciesの下にあり、前のセクションとマージできます.
libsディレクトリを変更しました
libsディレクトリを変更し、構成も変更し、androidノードの下で次のように追加します.
sourceSets.main {
jniLibs.srcDirs 'src/main/libs'
}
NDKでいくつかのライブラリを参照
私のjni層はC++コードを使っていますが、C++とCのJNI関数には違いがあります.
私のプロジェクトではandroidのロゴとC++のSTLライブラリを使用しました.
以前はeclipseのプロジェクトで、C++コードには次のものが含まれていました.
#include <android/log.h>
でjniのApplication.mkファイルにSTLライブラリのサポートが追加されました:APP_STL := stlport_static
コマンドラインで直接NDK-BUILDにエラーはなく、studioにエクスポートした後にコンパイルしてもlogおよびSTLが見つかりません.今はgradleファイルのandroiddefaultConfigノードには、次の内容が含まれます.
ndk {
moduleName "aa"
stl "stlport_static"
ldLibs "log"
}
aaは私のsoライブラリの名前です.最後に、私のプロファイルを以下のように貼り付けて参考にします.
apply plugin: 'com.android.application'
android {
compileSdkVersion 19
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "com.example.sample"
minSdkVersion 14
targetSdkVersion 19
ndk {
moduleName "aa"
stl "stlport_static"
ldLibs "log"
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
sourceSets.main {
jniLibs.srcDirs 'src/main/libs'
}
}
dependencies {
compile 'com.android.support:support-v4:19.1.0'
compile fileTree(dir: 'src/main/libs', include: ['*.jar'])
}