參考的地址也順便鐵出來
參考一,這個講的最靠譜
參考二
參考三
爲使用的是gradle是 2.10
插件的版本是:classpath “com.android.tools.build:gradle-experimental:0.6.0-beta5” 這是項目下的gragle裏面進行配置的
問題1:Gradle build Error:Cause: org.gradle.api.internal.ExtensibleDynamicObject, 原因是因爲gradle配置文件中,不能按照傳統之前那樣使用進行賦值操作了,要使用=號進行操作,爲把自己的清單複製上來把
apply plugin: ‘com.android.model.application’ // 注意:這裏使用的插件有model
model { // 這裏使用了model大括號
android {
compileSdkVersion = 23 // 這裏全部使用了 = 號進行賦值
buildToolsVersion = “23.0.3”
defaultConfig.with {
applicationId = "com.jin.android.myapplication"
minSdkVersion.apiLevel = 15
targetSdkVersion.apiLevel = 19
versionCode = 1
versionName = "1.0"
}
}
android.buildTypes {
release {
minifyEnabled = false
proguardFiles.add(file('proguard-rules.pro')) // 出現了錯誤這裏忘記了,這裏不能使用了 += 號賦值,之前版本是可以的,新版本要使用add進行添加
}
}
compileOptions.with {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
android.ndk {
moduleName = "NdkSample"
cppFlags.add("-std=c++11")
cppFlags.add("-fexceptions")
cppFlags.add("-I${file("src/main/jni//include")}".toString())
ldLibs.add("android") // 這裏使用了add添加,把 android /log分開了。 之前使用 ["android", "log"] 這樣寫報錯了。
ldLibs.add("log")
stl = "gnustl_shared"
}
android.productFlavors {
create("arm7") {
ndk.abiFilters.add("armeabi-v7a")
}
create("arm8") {
ndk.abiFilters.add("arm64-v8a")
}
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.4.0'
}
最好講一下怎麼在Android studio中生成 .h 頭文件。網上的教程,太多太雜而且有點。。
首先要使用Terminal 裏面。直接cd 到main下的src目錄
mian目錄下新建一個jni的目錄
指令如下 :[root@localhost java]# javah -d ./jni com.jin.jni.JniLoad
前面代表在java的目錄下, -d 表示輸出目錄, 後面是本地文件的定義的類
然後 頭文件 .h 會自動生成在 jni 的文件夾下