androidstudio开发ndk studio怎么配置ndk路径

问题:关于AndroidStudio NDK环境配置(Android20-rc1)
描述: 我在Android Studio2.0-rc1上配置NDK环境,但是Gradle报错,如下:
Error:(1, 0) Could not find matching constructor for: com.android.build.gradle.internal.ApplicationTaskManager(org.gradle.api.internal.project.DefaultProject_Decorated, com.android.builder.core.AndroidBuilder, android.databinding.tool.DataBindingBuilder, com.android.build.gradle.AppExtension_Decorated, com.android.build.gradle.internal.SdkHandler, com.android.build.gradle.internal.DependencyManager, org.gradle.tooling.provider.model.internal.DefaultToolingModelBuilderRegistry) &a href="openFile:F:\android\SUI\app\build.gradle"&Open File&/a&
项目配置是按照实验性Gradle文档介绍配置的,如下: apply plugin: 'com.android.model.library'
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
minSdkVersion.apiLevel 10
targetSdkVersion.apiLevel 22
versionCode 1
versionName "1.0"
moduleName "hello"
buildTypes {
minifyEnabled false
proguardFiles.add(file('proguard-rules.pro'))
android.sources{
srcDir "src"
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:22.+'
} 请问大神,我应该如何解决这个问题啊,谢谢
以上介绍了“关于AndroidStudio NDK环境配置(Android20-rc1)”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:/itwd/1154529.html
上一篇: 下一篇:Android Studio NDK开发配置 Android Studio NDK开发配置
围观1131次
编辑日期: 字体:
一直用eclipse开发安卓项目,因为可以顺带做下Java程序,所以一直没换。最近公司有一个项目,从别人手中接过来的,用的Andtoid Studio编译的。因为Android Studio的NDK环境和Eclipse结构不一样,所以移植也麻烦,因为依赖相当多的库,于是学下怎么使用Android Studio(后面简称AS)。特此做下笔记!首先来个简单的工程,我啥都不改了,名称:MyApplicationJNI,放在D盘根目录。然后新建一个java class文件,用于放置JNI代码,如果放到什么activity或者用到了android的api类文件中,编译就需要带一些参数,相当麻烦。我们这里为了省事,怎么简单怎么整!路径和MainActivity一样。创建好了按CTRL+F9编译一下,或者在Build-Make Project点下即可。完成之后准备生成.h的头文件,此时在AS中选择终端(Terminal),然后会自动进入工程的根目录,我们要切换到app\src\main,为什么要切换到这个目录呢?稍后就知道了。然后执行以下命令,当然了,如果你的SDK目录不是在C盘的话需要作出适当的改动。D:\MyApplicationJNI\app\src\main&javah -d jni -classpath C:\Users\Windows\AppData\Local\Android\sdk\platforms\android-23\android...\..\build\intermediates\classes\debug com.example.windows.myapplicationjni.JNIjavah是JDK自带的一个工具,配置我就不多说了。完成了这步之后,然后在AS左project中,点击2下下app目录(关闭,展开)相当于刷新了目录列表,此时jni目录就出来了,如下图:然后创建一个cpp source文件,注意不要勾选头选项,选择Cpp格式的好处就是写代码简洁些,不像C文件那么多。当然也可以要头文件,除非你有需求!然后代码如下://
// Created by Windows on .
#include &com_example_windows_myapplicationjni_JNI.h&
JNIEXPORT jstring JNICALL Java_com_example_windows_myapplicationjni_JNI_stringFromJNI
(JNIEnv *env, jclass clazz){
return env-&NewStringUTF(&Hello,ITHTW&); }再按CTRL+F9编译,此时会报错: Error:Execution failed for task ':app:compileDebugNdk'. > Error: NDK integration is deprecated in the current plugin. Consider trying the new experimental plugin. For details, see /tech-docs/new-build-system/gradle-experimental. Set "android.useDeprecatedNdk=true" in gradle.properties to continue using the current NDK integration. 那里这里提示我们,需要在gradle.properties中添加一行代码android.useDeprecatedNdk=true添加完成之后再CTRL+F9编译,OK,错误没了,提示成功了。如下图:OK,点击运行成功,效果图如下:这里需要注意的是,我没有配置其它的NDK设置,系统默认是的生成了libapp.so,所以加载的只能加载名称为:apppublic class JNI {
System.loadLibrary("app");
public static native String stringFromJNI();
这些当然是可以改的啦,这个在build.gradle中改,切记别改错了,是在Module不是Project这个有代码提示的,自己手打很快的。再次CTRL+F9,稍等几秒看看Gradle Console提示成功……
:app:compileDebugJavaWithJavac UP-TO-DATE
:app:compileDebugNdk
:app:compileDebugSources
:app:compileDebugAndroidTestJavaWithJavac UP-TO-DATE
:app:compileDebugAndroidTestNdk UP-TO-DATE
:app:compileDebugAndroidTestSources UP-TO-DATE
BUILD SUCCESSFUL
Total time: 4.233 secs然后把java代码里面加载库名称改成配置中的JNI即可运行 System.loadLibrary("JNI");&本文固定链接: 转载请注明:
作者:小企鹅坚持+积累+学习
如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!
您可能还会对这些文章感兴趣!如果文章对您有帮助,请随意打赏支持!Android NDK的安装及使用 · Android Studio新手完全指引 · 看云
由于并不是每个app都会用到NDK,事实上,大多数app都不需要用到NDK,因此,NDK的安装独立成一节,不感兴趣的筒靴可以跳过,NDK的安装相对简单,只需要到或者下载NDK的压缩包,然后解压到本地目录中即可。
接着在Android工程根目录的local.properties文件中新增ndk.dir变量,其值指向ndk绝对路径,例如:
## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
# This file should *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=/Users/guhaoxin/Library/Android/sdk
ndk.dir=/Users/guhaoxin/Library/Android/android-ndk-r10
NDK的使用主要有两种形式,一种是拿到第三方的so文件,我们通过JNI封装其提供的native接口给Java层使用另一种是自己使用C/C++编写底层代码,然后编译生成so文件,接着重复第一种的做法。具体实现还是比较麻烦的,篇幅比较大,需要用到的筒靴可以参考以下这几篇文章:
等有时间再结合实际项目整理一篇Android Studio+NDK的入门指引。

我要回帖

更多关于 androidstudio2.3 ndk 的文章

 

随机推荐