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 ...
随机推荐
- 「2019.8.11 考试」一套把OI写的很诗意的题
这次写的更惨了,T2暴力再次挂掉了. 先写了T1的75暴力,然后写了T2的70分暴力(挂成了25),T3啥也不会骗了12分.T3看完题一点思路没有,心态爆炸了,一直在观察数据,忽略的思考的重要性,以至 ...
- Head First设计模式——单例模式
单例模式是所有设计模式中最简单的模式,也是我们平常经常用到的,单例模式通常被我们应用于线程池.缓存操作.队列操作等等. 单例模式旨在创建一个类的实例,创建一个类的实例我们用全局静态变量或者约定也能办到 ...
- SSHD服务安全的连接
SSHD服务 SSH 安全的远程连接 OpenSSH 工具 centos服务端的包:openssh-server centos客户端的包:openssh-clients 主要配置文件一般安装完成后再/ ...
- 「Luogu 1349」广义斐波那契数列
更好的阅读体验 Portal Portal1: Luogu Description 广义的斐波那契数列是指形如\(an=p \times a_{n-1}+q \times a_{n-2}\)的数列.今 ...
- JavaScript部分案例
JavaScript 是 Web 的编程语言. 所有现代的 HTML 页面都使用 JavaScript. JavaScript 非常容易学. 阅读本教程,您需要有以下基础: HTML 教程 CSS 教 ...
- 深入理解计算机系统 第八章 异常控制流 part2
关于进程,需要关注其提供给应用程序的两个关键抽象: 1.一个独立的逻辑控制流,它提供一个假象,好像我们的程序独占地使用处理器 2.一个私有的地址空间,它提供一个假象,好像我们的程序独占地使用内存系统 ...
- ReactJS的4行代码
Angular 2一个显著的变动是,把Angular 1的Promise pattern改成了Observer pattern,并且使用了ReactJS.这里有一篇值得一读的文章 要搞懂ReactJS ...
- T-SQL, Part III: Check table's existance
There are several approaches to achieve so. Just list out all approaches I have tried: Approach 1: s ...
- Netty学习篇⑤--编、解码
前言 学习Netty也有一段时间了,Netty作为一个高性能的异步框架,很多RPC框架也运用到了Netty中的知识,在rpc框架中丰富的数据协议及编解码可以让使用者更加青睐: Netty支持丰富的编解 ...
- java编程思想第四版第五章总结
1. 构造器 构造器的一个重要的作用: 保证对象被使用之前初始化了. 构造器是一种特殊类型的方法, 因为他没有返回值.这与返回值为空(void)明显不同.对于空返回值,尽管方法本身不会自动返回什么, ...