1
私のアノテーションプロセッサ内のandroidスタジオプロジェクトからリソースにアクセスしたいとします。Androidアノテーションプロセッサのアクセスリソース(アセット)
私は最初のファイラーからのgetResourceメソッドを使用してみました:
FileObject fo = processingEnv.getFiler().getResource(StandardLocation.SOURCE_PATH, "", "src/main/res/layout/activity_main.xml");
が、それは常にちょうどメッセージとして "SRC /メイン/ resを/レイアウト/ activity_main.xml" を返された例外をthrowed。
次は私が試してみました
this.getClass().getResource("src/main/res/layout/activity_main.xml")
たと思いますが、これは常にnullを返しました。
最後に私が使用しようとしたと思うが、このでした:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
StandardJavaFileManager fm = compiler.getStandardFileManager(null, null, null);
Iterable<? extends File> locations = fm.getLocation(StandardLocation.SOURCE_PATH);
for (File file : locations) {
System.out.print(file.getAbsolutePath());
}
、それは私が私の注釈プロセッサからレイアウトフォルダを取得するには、次を使用し、nullポインタ例外
従来のJava(Androidに加えて)で動作するツールでは、「リソース」という用語は、AndroidリソースではなくJava/JARリソースを指しています。 – CommonsWare
私は解決策を見つけた – H3x0n