参考的地址也顺便铁出来
参考一,这个讲的最靠谱
参考二
参考三
为使用的是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 的文件夹下