"Ressource nicht gefunden" beim Erstellen einer Android-App unter IntelliJ 9.0 Maia Public Beta

9

Ich versuche eine App von Eclipse nach IntelliJ zu portieren. Die App ist in Ordnung, funktioniert aber nicht ordnungsgemäß.

Hier ist eine Teilstapel-Ablaufverfolgung, die ich erhalte:

%Vor%

Aus irgendeinem Grund kann die App die joda-time-Ressourcen nicht finden, obwohl sie im Build-Pfad des Moduls angegeben sind. Dies sind die gleichen JAR-Dateien, die in der Eclipse-Version der App verwendet werden.

Alternativtext http://img.skitch.com/20091106-pgqujbb5eaeqc2wfiqc2c1p39a.png

Das vom IntelliJ-Tool erstellte APK ist etwa 20% kleiner als das von Eclipse erstellte APK, aber ich weiß nicht warum.

Irgendeine Idee, was das Problem sein könnte?

UPDATE:

Ich habe gestern mit romain und xav gesprochen und es scheint, dass das Problem darin besteht, dass intellij Ressourcen in die apk nicht bündelt. Offensichtlich führt aapt einen Zwei-Pass-Ansatz durch: Zuerst bündelt er alle Klassendateien in eine .dex-Datei und bündelt dann alle Ressourcendateien separat in die oberste Ebene der apk-Datei. Es ist dieser zweite Pass, der intellij zu fehlen scheint.

Als Workaround haben sie vorgeschlagen, dass ich alle Ressourcendateien aus dem joda-time jar entarre und sie in mein src-Verzeichnis lege. Die Erwartung war, dass Intellij sie dann in meine Apk bündeln würde, als ob sie Teil meiner eigenen Quelle wären, und so das Problem lösen würde. Als ich dies tat, ignorierte IntelliJ diese Dateien jedoch vollständig, als es die apk erstellte.

Ich weiß nicht warum. Gibt es vielleicht einen Workaround, den ich verwenden kann, um die joda-time-Ressourcendateien in meine apk zu bekommen, die nicht jedes Mal, wenn ich bauen möchte, nicht sehr unbequem sind?

    
emmby 06.11.2009, 21:45
quelle

2 Antworten

1

Dies ist eine ziemlich alte Version von intellij an dieser Stelle. 10.5 scheint alle meine Probleme mit Android dev

zu lösen     
emmby 17.08.2011, 15:42
quelle
0

Ist Ihr Problem nicht der Umfang Ihrer Abhängigkeiten? Wenn sie nur zum Kompilieren verwendet werden, ist es nicht garantiert, dass sie zur Laufzeit arbeiten, oder?

Ich bin selbst kein Benutzer von IJ, aber von deinem Screenshot, das ist meine Vermutung. Es würde auch erklären, warum die Größe Ihres Android-Pakets 80% niedriger ist.

    
Gepsens 10.05.2011 09:45
quelle

Tags und Links