• 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:UsersAdministratorAppDataLocalAndroidSdkcmake3.6.4111459incmake.exe with arguments {-HC:UsersAdministratorAndroidStudioProjectsWatermelonKnowsapp -BC:UsersAdministratorAndroidStudioProjectsWatermelonKnowsapp.externalNativeBuildcmakedebugarmeabi-v7a -DANDROID_ABI=armeabi-v7a 

  • 相关阅读:
    C#程序之Main()方法
    JavaScript引用类型之RegExp类型(正则表达式)
    正则表达式之量词(重复出现)?、*、+
    正则表达式一元字符与字符组
    正则表达式简介
    yii自动登录
    Yii学习
    改变Yii2的默认路由
    extract()函数
    html5标签figure、figcaption
  • 原文地址:https://www.cnblogs.com/acesui/p/10296885.html
Copyright © 2020-2023  润新知