ここでの「構成」とは何ですか?
the documentationを引用:
あなたが独立して、それらを維持できるように、あなたは常に、こうしたアプリケーションコードから画像や文字列などのリソースを外部化する必要があります。リソースを外部化することで、さまざまな言語や画面サイズなどの特定のデバイス設定をサポートする代替リソースを提供することもできます。これは、Android搭載デバイスがさまざまな設定で利用できるようになるにつれますます重要になります。異なる構成との互換性を提供するには、タイプと構成ごとにリソースをグループ化するさまざまなサブディレクトリを使用して、プロジェクトのres /ディレクトリにリソースを編成する必要があります。
したがって、構成には、どのリソースがロードされるかを制御するデバイス機能と状態が混在しています。たとえば、デバイスのロケール設定によって、使用可能な文字列リソースからどの文字列が使用されるかが決まります。
私が知りたいことは、それは何を意味していますか?
システムは設定に基づいてさまざまな値を処理できないため、マニフェストのすべての属性にリソースを取り込むことができません。
例えば、<activity>
のJavaクラス名を変更することはできません。android:name
の文字列リソースを使用して、異なる画面サイズの異なるJavaクラスを使用することに注意してください。それは面白い概念ですが、Androidはそれをサポートするように設定されていません。
どのようにして(無視するだけでなく)防止しますか?
この場合、私はあなたがIDEのバグに遭遇していると思います。 android:versionName
は文字列リソースをサポートしている必要があります。文字列リソースはユーザーが使用する値であるため、文字列を変換する必要があります。したがって、the bug gets fixedまで<manifest>
要素にtools:ignore="ManifestResource"
を追加してください。
ツールを追加してみてください:ignore = "ManifestResource"? –
'@ string/appvername'の定義はいくつですか? – nandsito
@ string/appvernameの_how定義は何ですか?_すべてのロケールにはユニークな翻訳があるため、各言語に1つずつ。 (現在は2つですが、それ以上のものがあります) – user316117