2013-06-27 3 views
5

gradle生成されたAndroidManifestのXMLフィールドを追加で指定することは可能ですか?グラデーション生成されたAndroidManifestの余分なXMLを指定する

<uses-feature 
    android:glEsVersion="0x00020000" 
    android:required="true"/> 

をAndroidManifestに:ユースケースは、具体的には、私はGoogleマップを使用してアプリを持っている、とtheir documentationによると、アプリが指定しなければならないということです。あなたは、その後のGradleと、このアプリをテストしようとすると、取得します:

$ ./gradlew connectedCheck 
<snip> 
:myapp:processTestTestManifest 
[manifestMerge1694110764542760523.xml:1, manifestMerge678902239503841223.xml:15] Main manifest has <uses-feature android:glEsVersion='0x00010000'> but library uses glEsVersion='0x00020000' 
Note: main manifest lacks a <uses-feature android:glEsVersion> declaration, and thus defaults to glEsVersion=0x00010000. 

私の現在の(関連)事業構造は次のとおりです。言い換えれば

myapp/AndroidManifest.xml 
myapp/project.properties 
myapp/res/ 
myapp/src/com/magic/package/Foo.java 
myapp/tests/java/com/magic/package/test/FooTest.java 

tests/以外のレガシープロジェクト構造。また、the docがテストと同じように言っても、任意のAndroidManifest.xmlをmyapp/tests/に追加してみました。しかし、私は運がなかった。私buid.gradleがどのように見える

:私はuses-featureを削除した場合

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.4.+' 
    } 
} 

apply plugin: 'android' 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile project('stuff') 
} 

android { 
    compileSdkVersion 17 
    buildToolsVersion "17" 

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

     instrumentTest.setRoot('tests') 
    } 
} 

、テストが実行されますが、私は可能であれば、それを避けるためにしたいと思います。

答えて

1

カスタム属性を指定することはできませんが、マージが壊れているように見えます。私はそれを調べなければならない。

google bug filed for thisに更新されました。これは新しいマニフェストの合併によって修正されました。そしてからmanifest merger user guide

この新しい合併は、プラグインのバージョン0.10で導入されました。 0.11から、このツールはデフォルトでgradleプラグインによって使用されます。

+0

これを追跡するためにどこかにバグを報告する必要がありますか? – abhishekmukherg

+0

ここをクリックしてください:https://code.google.com/p/android/issues/entry?template=Tools%20bug%20report –

+0

ありがとう@Xav、[ファイル](https://code.google.com/ p/android/issues/detail?id = 57526) – abhishekmukherg

関連する問題