Android工作室"Current NDK support is deprecated"
Android Studio "Current NDK support is deprecated"
截至 2015 年 1 月,NDK 对 Android studio 的支持仍然无法使用。
一条神秘的消息说:"Alternative will be provided in the future."
我想知道gradle/google这方面的方向是什么,因为目前无法规划一个合适的发展计划。
版本 0.7+:他们建议仍然使用 ndk-build / ant
版本 0.8+:他们引入了最小的 NDK 支持
版本 1.0.0:看起来 NDK 支持将成为官方
版本 1.0.2:现在似乎已弃用 NDK 支持。
我的问题是:
每个人都恢复到 ndk-build 和手工制作的 android.mk 文件了吗?
有人在 1.0.0+(gradle ndk 支持)上使用当前已弃用的方法吗?
"Alternative will be provided in the future"会往哪个方向发展?在不违反任何公司规则的情况下,任何内部人士都可以回答这个问题吗?
编辑:它不是重复的,因为它指的是 Android Studio 和 NDK 的演变,另一个问题指的是 Android Studio 的一个非常古老的版本,正如我在我的 post NDK 支持在版本之间发生了巨大变化,没有明确的方向,直到现在发布 1.3
我调用了命令行,不确定我从哪里得到的,这基本上是你的第一个选项,用手工 android.mk
恢复到 ndk-build
。如果您不想通过产品口味控制 ndk abiFilters,那很好。
apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
ndk {
moduleName "glues"
}
}
sourceSets.main {
jniLibs.srcDir 'src/main/libs' //set .so files location to libs
jni.srcDirs = [] //disable automatic ndk-build call
}
task buildNative(type: Exec, description: 'Compile JNI source via NDK') {
def ndkDir = android.ndkDirectory
commandLine "$ndkDir/ndk-build",
'-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source
'-j', Runtime.runtime.availableProcessors(),
'all',
'NDK_DEBUG=1'
}
task cleanNative(type: Exec, description: 'Clean JNI object files') {
def ndkDir = android.ndkDirectory
commandLine "$ndkDir/ndk-build",
'-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source
'clean'
}
clean.dependsOn 'cleanNative'
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn buildNative
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
}
如果我在 productFlavors
上设置 abiFilter
,我只会看到这些警告:
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
mips {
ndk {
abiFilter "mips"
}
}
armv7 {
ndk {
abiFilter "armeabi-v7a"
}
}
arm {
ndk {
abiFilter "armeabi"
}
}
fat
}
请注意,较旧的 gradle 插件版本使用 android.plugin.ndkFolder
而不是 android.ndkDirectory
。有关详细信息,请参阅:http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0
自 AndroidStudio 1.3 起将完全支持 NDK,包括本机调试。
更新自 Google I/O 2015
Android Studio v1.3 Preview - We are releasing a new version of Android
Studio. Most notable is a much requested feature from our Android NDK
& game developers: code editing and debugging for C/C++ code. Based on
JetBrains Clion platform, the Android Studio NDK plugin provides
features such as refactoring and code completion for C/C++ code
alongside your Java code. Java and C/C++ code support is integrated
into one development experience free of charge for Android app
developers. Update to Android Studio v1.3 via the Canary channel and
let us know what you think.
来自 android 开发者博客 here。
新更新 30/7/2015 -> Android Studio v1.3 已发布
As a part of the Android 1.3 stable release, we included an Early
Access Preview of the C++ editor & debugger support paired with an
experimental build plugin. See the Android C++ Preview page for
information on how to get started. Support for more complex projects
and build configurations is in development.
引自 android 开发者博客 here。
新增功能:
- 代码完成
- 代码导航(去声明,在header和
实施等)
- 快速修复
- 意向
- 重构
- 源格式
- 调试
- ...
有关如何使用它的步骤,请查看 here。
android.useDeprecatedNdk=true
在你的gradle.properties
截至 2015 年 1 月,NDK 对 Android studio 的支持仍然无法使用。 一条神秘的消息说:"Alternative will be provided in the future."
我想知道gradle/google这方面的方向是什么,因为目前无法规划一个合适的发展计划。
版本 0.7+:他们建议仍然使用 ndk-build / ant 版本 0.8+:他们引入了最小的 NDK 支持 版本 1.0.0:看起来 NDK 支持将成为官方 版本 1.0.2:现在似乎已弃用 NDK 支持。
我的问题是:
每个人都恢复到 ndk-build 和手工制作的 android.mk 文件了吗?
有人在 1.0.0+(gradle ndk 支持)上使用当前已弃用的方法吗?
"Alternative will be provided in the future"会往哪个方向发展?在不违反任何公司规则的情况下,任何内部人士都可以回答这个问题吗?
编辑:它不是重复的,因为它指的是 Android Studio 和 NDK 的演变,另一个问题指的是 Android Studio 的一个非常古老的版本,正如我在我的 post NDK 支持在版本之间发生了巨大变化,没有明确的方向,直到现在发布 1.3
我调用了命令行,不确定我从哪里得到的,这基本上是你的第一个选项,用手工 android.mk
恢复到 ndk-build
。如果您不想通过产品口味控制 ndk abiFilters,那很好。
apply plugin: 'com.android.library'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
ndk {
moduleName "glues"
}
}
sourceSets.main {
jniLibs.srcDir 'src/main/libs' //set .so files location to libs
jni.srcDirs = [] //disable automatic ndk-build call
}
task buildNative(type: Exec, description: 'Compile JNI source via NDK') {
def ndkDir = android.ndkDirectory
commandLine "$ndkDir/ndk-build",
'-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source
'-j', Runtime.runtime.availableProcessors(),
'all',
'NDK_DEBUG=1'
}
task cleanNative(type: Exec, description: 'Clean JNI object files') {
def ndkDir = android.ndkDirectory
commandLine "$ndkDir/ndk-build",
'-C', file('src/main/jni').absolutePath, // Change src/main/jni the relative path to your jni source
'clean'
}
clean.dependsOn 'cleanNative'
tasks.withType(JavaCompile) {
compileTask -> compileTask.dependsOn buildNative
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
}
如果我在 productFlavors
上设置 abiFilter
,我只会看到这些警告:
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
mips {
ndk {
abiFilter "mips"
}
}
armv7 {
ndk {
abiFilter "armeabi-v7a"
}
}
arm {
ndk {
abiFilter "armeabi"
}
}
fat
}
请注意,较旧的 gradle 插件版本使用 android.plugin.ndkFolder
而不是 android.ndkDirectory
。有关详细信息,请参阅:http://tools.android.com/tech-docs/new-build-system/migrating-to-1-0-0
自 AndroidStudio 1.3 起将完全支持 NDK,包括本机调试。
更新自 Google I/O 2015
Android Studio v1.3 Preview - We are releasing a new version of Android Studio. Most notable is a much requested feature from our Android NDK & game developers: code editing and debugging for C/C++ code. Based on JetBrains Clion platform, the Android Studio NDK plugin provides features such as refactoring and code completion for C/C++ code alongside your Java code. Java and C/C++ code support is integrated into one development experience free of charge for Android app developers. Update to Android Studio v1.3 via the Canary channel and let us know what you think.
来自 android 开发者博客 here。
新更新 30/7/2015 -> Android Studio v1.3 已发布
As a part of the Android 1.3 stable release, we included an Early Access Preview of the C++ editor & debugger support paired with an experimental build plugin. See the Android C++ Preview page for information on how to get started. Support for more complex projects and build configurations is in development.
引自 android 开发者博客 here。
新增功能:
- 代码完成
- 代码导航(去声明,在header和 实施等)
- 快速修复
- 意向
- 重构
- 源格式
- 调试
- ...
有关如何使用它的步骤,请查看 here。
android.useDeprecatedNdk=true
在你的gradle.properties