最近项目中有需要用到AR功能,于是找到了EasyAR。在Android Studio上跑EasyAR样例的时候踩了不少坑。
EasyAR官方推荐安装需求:
JDK 1.7 或更新版本
Android Studio 1.5 或更新版本
Android NDK r10e
Android SDK with Build Tools 至少需要版本20.0.0
Android API 23 (可从Android SDK Manager中下载)
如果您的是Android Studio也是 1.5版本的,就可以直接看官方的文档了
1.当然是先注册帐号什么的了
在EasyAR官方网站上注册帐号,并且创建一个应用,因为要运行官方的样例所以在Package Name框中直接输入cn.easyar.samples.helloar,名称随意。
2.下载Samples
下载EasyAR SDK v1.3.1 Native Samples ,然后直接解压。
打开MainActivity设置key。
注意:“Android” 文件夹和“package”要在一个文件夹中
3.将样例导入Android Studio里面
选择HelloARNative项目导入项目。
4.配置NDK
如果没有NDK则会出现下面的提示,如果没有请跳过该步骤。
点击错误提示会出现以下窗口。你可以选择第一选项直接下载,不过可能会比较慢,而且NDK包大概有2G。选择第二个选项,点击“...”按钮选择你的NDK包。
5.解决Error:Gradle DSL method not found: 'library()'
打开app下的build.gradle文件修改如下:
apply plugin: 'com.android.model.application'
model {
android {
compileSdkVersion = 23
buildToolsVersion = "25.0.0"
defaultConfig.with {
applicationId = "cn.easyar.samples.helloar"
minSdkVersion.apiLevel =15
targetSdkVersion.apiLevel = 22
versionCode = 1
versionName = "1.0"
}
}
android.buildTypes {
release {
minifyEnabled = false
proguardFiles.add(file("proguard-rules.pro"))
}
}
android.ndk {
moduleName = "HelloARNative"
cppFlags.add("-I${file("../../../package/include")}".toString())
cppFlags.add("-DANDROID")
cppFlags.add("-fexceptions")
cppFlags.add("-frtti")
stl = "gnustl_static"
ldLibs.add("log")
ldLibs.add("GLESv2")
}
android.productFlavors {
create("arm") {
ndk.with {
abiFilters.add("armeabi-v7a")
}
}
}
repositories {
libs(PrebuiltLibraries) {
prebuilt {
headers.srcDir "../../../package/include"
binaries.withType(SharedLibraryBinary) {
sharedLibraryFile = file("../../../package/Android/libs/armeabi-v7a/libEasyAR.so")
}
}
}
}
android.sources {
main {
jni {
dependencies {
library "prebuilt"
// library file("../../../package/Android/libs/armeabi-v7a/libEasyAR.so") abi "armeabi-v7a"
}
}
}
}
}
dependencies {
// compile fileTree(include: ['*.jar'], dir: '../../../package/Android/libs')
// testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:20.0.0'
compile files('libs/EasyAR.jar')
}
注意:创建libs文件,将EasyAR.jar复制到文件夹中