gpt4 book ai didi

Android studio multidex 和 Ndk 问题

转载 作者:行者123 更新时间:2023-11-30 01:44:18 29 4
gpt4 key购买 nike

我正在使用 android studio 开发 android 应用程序。我有一个项目有两个模块作为库,并且两个模块都有很少的库公共(public)(.so 文件)因此我遇到了 multi-dex 问题。下面是 gradle 消息

> Error:Execution failed for task ':ftrScanApiAndroidHelperUsbHost:compileReleaseNdk'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/home/intel/BackUp/Ndk/ndk-build'' finished with non-zero exit value 2

我尝试了以下解决方案来解决这个问题,但这对我不起作用

defaultConfig{
multiDexEnabled true
}

build.gradle 文件:

> apply plugin: 'com.android.application' // apply plugin: 'android'
>
> android {
>
> signingConfigs {
> config {
> keyAlias 'xxx'
> keyPassword 'xxx'
> storeFile file('/home/intel/Downloads/xxx.jks')
> storePassword 'xxx'
> }
> }
> compileSdkVersion 21
> buildToolsVersion '21.1.2'
> defaultConfig {
> applicationId 'com.xxxx.xxx.xxx'
> minSdkVersion 14
> targetSdkVersion 14
> versionCode 3
> versionName "1.2"
> signingConfig signingConfigs.config
> multiDexEnabled true
> }
> buildTypes {
> release {
> minifyEnabled false
> proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
> signingConfig signingConfigs.config
> }
> debug {
> signingConfig signingConfigs.config
> }
> }
> productFlavors {
> }
> sourceSets {
> main {
> jni.srcDirs = []
> assets.srcDirs = ['src/main/assets', 'src/main/assets/']
> }
> }
>
> }
>
> dependencies {
> compile 'com.android.support:appcompat-v7:21.0.3'
> compile 'com.google.android.gms:play-services:+'
> compile project(':pulltorefresh')
> compile 'com.google.code.gson:gson:2.3.1'
> compile files('libs/ksoap2-android-assembly-3.4.0-jar-with-dependencies.jar')
> compile files('libs/possdk.jar')
> compile project(':ftrScanApiAndroidHelperUsbHost')
> compile project(':ftrWsqAndroidHelper') }

local.properties 下面:

sdk.dir=/home/intel/Takencode/Android/Sdk

ndk.dir=/home/intel/Takencode/Android/Ndk

上面的错误还有其他解决办法吗?任何建议

最佳答案

你必须在你的gradle中添加支持库的依赖

compile 'com.android.support:multidex:1.0.1'

如果您已经有一个自定义应用程序,您必须更改它而不是扩展 Application,您必须像这样使用 MultiDexApplication 扩展该类

MyApplication extends MultiDexApplication {

}

如果您没有任何自定义应用程序类,只需将其添加到 application 标签

内的 list 中
<application
android:name="android.support.multidex.MultiDexApplication">
</application>

如果您不需要整个play 服务,您可以删除依赖项并仅添加您需要的那些依赖项,就像这样

compile 'com.google.android.gms:play-services-gcm:8.1.0'
compile 'com.google.android.gms:play-services-maps:8.1.0'
compile 'com.google.android.gms:play-services-location:8.1.0'

那么不需要让你的应用程序 MultiDex

对于ndk你可以看到这个SO Thread

关于Android studio multidex 和 Ndk 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33956297/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com