Android Jni开发,报com.android.ide.common.process.ProcessException: Error configuring 错误解决方案
今天在练习JNI项目时,Android studio版本为:3.1.3,Gradle版本为4.4。由于Android studio 3.X弃用了
android.useDeprecatedNdk=true,要求使用Cmake的方式进行库文件构建。因此,学习了Cmake
的构建方式。
在写完代码之后,sync时总是报错:com.android.ide.common.process.ProcessException: Error configuring,却不能给出出错的准确位置。
Google和百度,未能找到解决方案,使用gradlew build也不能看出明显出错的方案。
忍无可忍,按照https://developer.android.com/studio/projects/add-native-code#new-project 官网自动生成demo项目,竟然发现也会报同样的错误。(ps,clean、invalidate and restrat均无用)。考虑到可能是Android studio抽风,于是在另一台新装的电脑上构建试一下。工程拷贝过去后,发现一样。
用新电脑的Android Studio(版本3.2.1)新建一个官方的jni demo项目,竟然..通过了!!
于是比较两个项目的差异,除了版本外,新电脑生成的工程默认的classpath为:
classpath 'com.android.tools.build:gradle:3.2.1'
使用的gradle版本为4.6。旧电脑生成工程默认的classpath为:
classpath 'com.android.tools.build:gradle:3.1.3'
使用的gradle版本为4.4。两者使用的ndk版本均为19.0,cmake版本为3.10.2。
于是将旧电脑的classpath和gradle更新,与新电脑的一致,sync,构建通过。
第二个问题(见 https://github.com/googlesamples/android-ndk/issues/510):Android工程所在的目录的任何一级,不要有中文、空格等特殊符号,最好与java的命名规则保持一致,否则cmake会报错:
C:\Users\Administrator\AppData\Local\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {-HC:\Users\Administrator\AndroidStudioProjects\WatermelonKnows\app -BC:\Users\Administrator\AndroidStudioProjects\WatermelonKnows\app.externalNativeBuild\cmake\debug\armeabi-v7a -DANDROID_ABI=armeabi-v7a
Android Jni开发,报com.android.ide.common.process.ProcessException: Error configuring 错误解决方案的更多相关文章
- 高德地图Demo运行报错 com.android.ide.common.process.ProcessException: Failed to execute aapt
最近由于有需求去做导航方面的Android开发,很是无奈,以前也的确是没有搞过,领导开大会当着所有人的面说这是给我分配的第一个工作,无论如何要做好,突然间感觉压力好大,自己已经多年没有敲过代码,而且A ...
- ionic 打包 报错Execution failed for task ':processDebugResources'. > com.android.ide.common.process.ProcessException: Failed to execute aapt
在platform --> android目录下找到build.gradle文件,打开并在def promptForReleaseKeyPassword() {...}函数前加入以下内容: 完整 ...
- com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command ' finished with non-zero exit value 1
Error:Execution failed for task ':lenovoAlbum:processReleaseResources'. > com.android.ide.common. ...
- java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException 的解决办法之一
在查看别人的代码的时候,遇到了把工程导入到 Android Studio ,报:ExecutionException: com.android.ide.common.process.ProcessEx ...
- Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException总结
最新项目中遇到了 Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.Proces ...
- Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException
异常Log: Error:Execution failed for task ‘:app:dexDebug’. > com.android.ide.common.process.ProcessE ...
- Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException
异常Log: Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessE ...
- om.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException
Error:Execution failed for task ':app:dexDebug'.> com.android.ide.common.process.ProcessException ...
- Error:Execution failed for task ':app:transformClassesWithDexForDebug'. > com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.Exec
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.tr ...
随机推荐
- vue H5页面手机端 利用canvas 签名
签名首先用一个canvas标签,上面加三个代码,分别是点击,移动,离开.这里点击是开始画笔的地方,如果不加@touchstart 笔头会发生偏移,可以试试. @toucheend也是如此.尾巴也会出现 ...
- 题解 【洛谷】AT654
题解 AT654 [役人[错题已隐藏]] 此题题面没搬过来, 会日语的dalao可以自行去ATCoder查看. 给出此题的JavaAC代码: public class Main { public st ...
- Java基础系列5:Java代码的执行顺序
该系列博文会告诉你如何从入门到进阶,一步步地学习Java基础知识,并上手进行实战,接着了解每个Java知识点背后的实现原理,更完整地了解整个Java技术体系,形成自己的知识框架. 一.构造方法 构造方 ...
- NOIP 模拟22
这次考试真的是像教练说的真的挺难的,但是人家rank1还是100+, 但是咕咕蛊!
- markdown 编辑器概述
markdown 编辑器概述 编辑器其实很多很多,主要分为 网页编辑和软件编辑 (效果其实感觉效果差不多,看个人喜好,笔者个人还是喜欢本地,感觉方便挺多的) ## 网页编辑器 主要有 C ...
- python——inspect模块
inspect模块常用功能 import inspect # 导入inspect模块 inspect.isfunction(fn) # 检测fn是不是函数 inspect.isgenerator((x ...
- egret inspect插件安装失败处理方法
egret inspect插件安装失败处理方法谷歌浏览器版本太高不兼容了 换个69就行了 然后点击加载已解压的扩展程序选择EgretInspector-v2.5.5这个文件夹 就安装成功了 重启下浏览 ...
- java多线程与线程并发二:线程互斥
本文章内容整理自:张孝祥_Java多线程与并发库高级应用视频教程 当两条线程访问同一个资源时,可能会出现安全隐患.以打印字符串为例,先看下面的代码: // public class Test2 { p ...
- nginx 根据不同url转发请求对应tomcat容器
根据前端请求的url,nginx转发到指定的tomcat容器 原理如图: 现在我们有2个tomcat,一个tomcat的端口为9001,另一个tomcat的端口为9002 1.找到nginx的配置文件 ...
- 忘记Linux登录密码的破解方法
注意:1.破解方式只限于7.0以后的Linux系统. 2.要注意自己linux系统中有没有开启selinux,如果开启则在后面要建一个名为:autorelabel的隐藏文件. 1.启动Linu ...