Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android studio multidex和Ndk问题_Android_Android Multidex - Fatal编程技术网

Android studio multidex和Ndk问题

Android studio multidex和Ndk问题,android,android-multidex,Android,Android Multidex,我正在使用android studio开发android应用程序。我有一个项目,它有两个模块作为库,两个模块都有很少的公共库(.so文件),因此我得到了多索引问题。下面是gradle的信息 > Error:Execution failed for task ':ftrScanApiAndroidHelperUsbHost:compileReleaseNdk'. > com.android.ide.common.process.ProcessException: org.gradle.

我正在使用android studio开发android应用程序。我有一个项目,它有两个模块作为库,两个模块都有很少的公共库(.so文件),因此我得到了多索引问题。下面是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') }
本地。属性如下:

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

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


对于上述错误是否有其他解决方案?任何建议

您必须在您的
gradle中添加对支持库的依赖关系

compile 'com.android.support:multidex:1.0.1'
如果您已经有一个自定义应用程序,您必须更改它,而不是扩展
application
,您必须像这样使用
MultiDexApplication
扩展该类

MyApplication extends MultiDexApplication {

}
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'
如果没有任何自定义应用程序类,只需在清单中的应用程序标记中添加该类

<application
   android:name="android.support.multidex.MultiDexApplication">   
</application>
那么就不需要让你的应用程序
MultiDex


对于ndk,您可以看到这个

您可以尝试一下


最后,在谷歌搜索了很多之后,我纠正了问题。上面的问题出了问题

案例1
:在模块中,我有jni和jnilibs几个公共文件(.so文件)…因此我删除了jni文件夹,因为它包含相同的.so文件…从项目中删除冗余和冲突

case2
:可能存在模块(库)和主项目的主题、图标不同的情况(在
AndroidManifest.xml
文件中定义)。为了更正查找清单文件…使模块和主项目主题相同

在我的例子中,模块具有以下主题

android:theme="@style/AppTheme" 
主要项目有:

 android:theme="@android:style/Theme.Holo.Light.NoActionBar"
所以我将模块主题更改为项目主题

还将下面的行添加到清单标记

xmlns:tools="http://schemas.android.com/tools"  
添加到行上方后,将行下方添加到应用程序标记

tools:replace="android:icon,android:theme"

现在它工作得完美无缺。

你在android棒棒糖中试用过吗?你的意思是说编译sdk版本…棒棒糖@FabinPaul你是否在棒棒糖设备/模拟器上运行应用程序?我如何在不编译的情况下运行应用程序…我在编译时遇到此错误..顺便说一句,我正在使用棒棒糖操作系统设备ID你编译com.android。支持:multidex:1.0.1?
tools:replace="android:icon,android:theme"