2016-04-01 5 views
1

Ich habe aidl-Dateien in meinem Quellcode verwendet, aber im Vergleich zu den apk Build unter Code-Basis, die in Andorid Studio gebaut hat zusätzlicher Ordner, der .aidl-Dateien enthält. Ist das normal? Sollte nicht diese * .aidl Dateien in classes.dex gewickelt werden? (Oder resources.arsc?) Ich hatte versucht, auchIst es normal, dass die * .aidl Dateien im Ordner der entpackten apk Build innerhalb Android Studio

packagingOptions { 
    exclude './src/com/mytest/test/*.aidl' 
} 

zu verwenden, aber es funktioniert nicht! finden meine build.gradle:

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:1.5.0' 
    } 
} 

allprojects { 
    repositories { 
     jcenter() 
    } 
} 

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 

    defaultConfig { 
     applicationId "com.mytest.test" 
     minSdkVersion 18 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1" 
    } 

    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles 'proguard-apk.config' 
     } 
    } 

    sourceSets { 
     main { 
      manifest.srcFile 'AndroidManifest.xml' 
      java.srcDirs = ['src'] 
      resources.srcDirs = ['src'] 
      aidl.srcDirs = ['src'] 
      renderscript.srcDirs = ['src'] 
      res.srcDirs = ['res'] 
      assets.srcDirs = ['assets'] 
     } 

     //androidTest.setRoot('../tests') 
    } 

    packagingOptions { 
     exclude 'META-INF/DEPENDENCIES.txt' 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     exclude 'META-INF/NOTICE' 
     exclude 'META-INF/LICENSE' 
     exclude 'META-INF/DEPENDENCIES' 
     exclude 'META-INF/notice.txt' 
     exclude 'META-INF/license.txt' 
     exclude 'META-INF/dependencies.txt' 
     exclude 'META-INF/LGPL2.1' 

     exclude './src/com/mytest/test/*.aidl' 
    } 
} 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 
+0

warum Sie ausschließen wollen? –

+0

Da mit der Apk-Build unter Code-Basis verglichen werden, würde es nicht die spezifischen Ordner enthalten * .aidl-Dateien. Ich nehme an, dass diese aidl-Dateien in classes.dex (? Oder resources.arc?) Verpackt sein sollten. Da alle Source-Codes und Ordnerstruktur identisch sind, sollte die Apk-Build innerhalb Android-Studio das gleiche Verhalten haben (keine bestimmten aidl-Ordner enthalten) mit dem einen Build unter Code-Basis ... – superx3

+0

Ich verstehe dein Endziel nicht. Sie schließen sie ab: 'aidl.srcDirs = ['src']' absichtlich. Dies funktioniert nicht: "exclude" ./src/com/mytest/test/*. Aidl''. –

Antwort

1

hielt es für eine lange Zeit vergangen scheint, ich dich immer noch schreiben wollen helfen. Ich habe das gleiche Problem, ich habe es gelöst! versuchen resources.srcDirs = [ ‚src‘] zu entfernen, Sie build.gradle diese Java-Ressource nicht Android-Ressource angeben, die res bereits Android-Ressource zeigen

Verwandte Themen