シリアル
Yilian Youmeng との再会、JNI.A の物語はまだ続きます。当初はmkメソッドで行く予定でしたが、名前は考え抜かれており、道は3000で、私は2杯しか摂取しません。バーン、物語が始まります。
グラドル実験的
物語の豚足。JNI サービス専用のプラグイン。E Wen の仲の良いクラスメートは、これが Gugou の研究室にあるものであると大まかに推測しました。物事は良いことです、それは「実験」という言葉です、ふふふ。純粋な gradle の方法、mk を置き換え、統合をビルドする、夢は良いことです。しかし、Googleはそれをあまり気にしていないようです。あまり噂話ではありませんが、このスキルを実践したい場合は、いくつかの点に注意する必要があります。
注 1. プロジェクトの Gradle 依存関係
gradle-experimental としては、とても嬉しいです。統合、純粋な gradle、私は感謝しなければなりません。一目惚れ、その後断られ、3回目で疲れ果てる。手を上げたり下げたり、構成を変えて、大惨事を越える道を歩み出させてください。構成は次のとおりです。
buildscript {
...
dependencies {
/**
* 从前 classpath 'com.android.tools.build:gradle:2.2.3'
* 由于插件的更换,蝴蝶来到了太平洋,一系列随之而来
*/
classpath 'com.android.tools.build:gradle-experimental:0.9.3'
}
}
注2. 現在のアプリモジュール構成
自分の決断、立ち上がることがオナニーです。アプリモジュールは、大災害を乗り越える場として、これからワクワクする準備を始めようとしています。表示される内容:
アプリ アプリケーション プラグインの調整、
//从前, apply plugin: 'com.android.application'
apply plugin: 'com.android.model.application'
モデルプラグインのサポートにより、Du Jieはスコープモデルに限定され、オーラは異なり、安定しています。知識と知識:
model{
...
android{
}
}
大災害を越えるためには、大災害を越えなければならないように見える必要があり、当然、以前の構成を少し強化する必要があります。ほら、栗がいくつかあるよ。
model{
...
android{
...
defaultConfig {
···
//从前车马慢,minSdkVersion 19
minSdkVersion.apiLevel 9
targetSdkVersion.apiLevel 19
}
}
}
注3. コア構成
大惨事を乗り越える途中で、それを達成するには .a 静的ライブラリに依存する必要があります。まず、ライブラリのリポジトリを定義します。これは、ライブラリ ファイルのパス、ヘッダー ファイルのパス、リンク方法など、ライブラリの基本情報を指定するために使用されます。詳細については、次のコードを参照してください。
model {
...
repositories {
libs(PrebuiltLibraries) {
libHello {
// 头文件地址
headers.srcDir "src/main/jni/sources/"
// 静态链接库的引用,
binaries.withType(StaticLibraryBinary) {
staticLibraryFile = file("src/main/jni/sources/${targetPlatform.getName()}/libHello.a")
}
}
}
}
}
横断強盗、成功の鍵 - NDK 構成、そしてグラドル、横断強盗が始まります。NDK 構成はすでによく知られていますが、ここではいくつかの違いがあります。詳細を吐き出します。
model{
...
android{
...
ndk {
moduleName "JniDemo"
//书信很远, cppFlags "-std=c++11"
cppFlags.add("-std=c++11") //c++版本
stl "gnustl_static" //支持 stl 标准库
// 配置可多个, abiFilters "armeabi", "armeabi-v7a", "x86"
// abiFilters.addAll(['armeabi', 'armeabi-v7a', 'x86'])
}
}
}
エピローグ
この時点で、彼は大惨事を乗り越える道をますます遠くへ進んでいます。mk、gradle-experimental については、もともと比較をしたかったのです。後で考えてみましょう。それぞれに独自のメリットがあり、それらはすべて NDK ビルドに基づいています。選択については、人それぞれ好みがあるので、しばらくは言及しません。次の出会い、次の素敵な出会いを楽しみにしています。
広大な世界を体験できるgithubチケットが付属