rho*_*odo 6 android android-ndk android-studio android-gradle-plugin
我正在将Android库从Eclipse迁移到Android Studio.在Eclipse中,我可以通过Project> Properties> Resource> Linked Resources> Path Variables设置NDK_MODULE_PATH.但是如何使用gradle分别在Android Studio中实现相同的功能呢?
我的库构建,直到它试图在NDK_MODULE_PATH下找到模块的头.
这是错误消息:
Executing tasks: [:libAndroid:compileDebugSources, :physicaloidLibrary:compileDebugSources]
Configuration on demand is an incubating feature.
:libAndroid:preBuild UP-TO-DATE
:libAndroid:preDebugBuild UP-TO-DATE
:libAndroid:checkDebugManifest
:libAndroid:preDebugAndroidTestBuild UP-TO-DATE
:libAndroid:preReleaseBuild UP-TO-DATE
:physicaloidLibrary:compileLint
:physicaloidLibrary:copyReleaseLint UP-TO-DATE
:physicaloidLibrary:mergeReleaseProguardFiles UP-TO-DATE
:physicaloidLibrary:preBuild UP-TO-DATE
:physicaloidLibrary:preReleaseBuild UP-TO-DATE
:physicaloidLibrary:checkReleaseManifest
:physicaloidLibrary:prepareReleaseDependencies
:physicaloidLibrary:compileReleaseAidl UP-TO-DATE
:physicaloidLibrary:compileReleaseRenderscript UP-TO-DATE
:physicaloidLibrary:generateReleaseBuildConfig UP-TO-DATE
:physicaloidLibrary:generateReleaseAssets UP-TO-DATE
:physicaloidLibrary:mergeReleaseAssets UP-TO-DATE
:physicaloidLibrary:generateReleaseResValues UP-TO-DATE
:physicaloidLibrary:generateReleaseResources UP-TO-DATE
:physicaloidLibrary:packageReleaseResources UP-TO-DATE
:physicaloidLibrary:processReleaseManifest UP-TO-DATE
:physicaloidLibrary:processReleaseResources UP-TO-DATE
:physicaloidLibrary:generateReleaseSources UP-TO-DATE
:physicaloidLibrary:compileReleaseJava UP-TO-DATE
:physicaloidLibrary:processReleaseJavaRes UP-TO-DATE
:physicaloidLibrary:packageReleaseJar UP-TO-DATE
:physicaloidLibrary:compileReleaseNdk UP-TO-DATE
:physicaloidLibrary:packageReleaseJniLibs UP-TO-DATE
:physicaloidLibrary:packageReleaseLocalJar UP-TO-DATE
:physicaloidLibrary:packageReleaseRenderscript UP-TO-DATE
:physicaloidLibrary:bundleRelease UP-TO-DATE
:libAndroid:prepareLibAndroidGradlePhysicaloidLibraryUnspecifiedLibrary UP-TO-DATE
:libAndroid:prepareDebugDependencies
:libAndroid:compileDebugAidl UP-TO-DATE
:libAndroid:compileDebugRenderscript UP-TO-DATE
:libAndroid:generateDebugBuildConfig UP-TO-DATE
:libAndroid:generateDebugAssets UP-TO-DATE
:libAndroid:mergeDebugAssets UP-TO-DATE
:libAndroid:generateDebugResValues UP-TO-DATE
:libAndroid:generateDebugResources UP-TO-DATE
:libAndroid:mergeDebugResources UP-TO-DATE
:libAndroid:processDebugManifest UP-TO-DATE
:libAndroid:processDebugResources UP-TO-DATE
:libAndroid:generateDebugSources UP-TO-DATE
:libAndroid:compileDebugJava UP-TO-DATE
:libAndroid:compileDebugNdk
AGPBI: {"kind":"SIMPLE","text":"/home/rhodo/dev/android/studio/LibAndroidGradle/libAndroid/src/main/jni/imageprocessing/dmtxutil.c:30:18: fatal error: dmtx.h: No such file or directory","position":{},"original":"/home/rhodo/dev/android/studio/LibAndroidGradle/libAndroid/src/main/jni/imageprocessing/dmtxutil.c:30:18: fatal error: dmtx.h: No such file or directory"}
AGPBI: {"kind":"SIMPLE","text":" #include \u003cdmtx.h\u003e","position":{},"original":" #include \u003cdmtx.h\u003e"}
AGPBI: {"kind":"SIMPLE","text":" ^","position":{},"original":" ^"}
AGPBI: {"kind":"SIMPLE","text":"compilation terminated.","position":{},"original":"compilation terminated."}
AGPBI: {"kind":"SIMPLE","text":"make: *** [/home/rhodo/dev/android/studio/LibAndroidGradle/libAndroid/build/intermediates/ndk/debug/obj/local/arm64-v8a/objs/Rhodo//home/rhodo/dev/android/studio/LibAndroidGradle/libAndroid/src/main/jni/imageprocessing/dmtxutil.o] Error 1","position":{},"original":"make: *** [/home/rhodo/dev/android/studio/LibAndroidGradle/libAndroid/build/intermediates/ndk/debug/obj/local/arm64-v8a/objs/Rhodo//home/rhodo/dev/android/studio/LibAndroidGradle/libAndroid/src/main/jni/imageprocessing/dmtxutil.o] Error 1"}
FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':libAndroid:compileDebugNdk'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/opt/android-ndk/ndk-build'' finished with non-zero exit value 2
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 2.763 secs
有什么想法吗?
And*_*Guy -2
在 Android Studio 项目的根目录下,有一个名为“local.properties”的文件。添加名为“ndk.dir”的属性并将值设置为指向 ndk 的位置。像下面这样:
ndk.dir=/Users/username/sdk
Run Code Online (Sandbox Code Playgroud)
我可能不明白你的问题。如果您已经设置了 ndk 的位置并且只想确保构建模块,则将该模块添加到“settings.gradle”文件中。
include ":<your module name>"
Run Code Online (Sandbox Code Playgroud)
然后确保将 C 代码放入模块的“src/main/jni”中。Gradle 会根据文件夹名称自动找到它。不再需要设置 NDK_MODULE_PATH。
| 归档时间: |
|
| 查看次数: |
3380 次 |
| 最近记录: |