Недавно я проследил путь программирования для Android с помощью Scala и Eclipse, который сокращает время кода и время компиляции без использования Proguard или Treeshake.
Следуя этой статье, я должен использовать последнюю сборку Eclipse (3.7), почти последнюю версию Scala (2.8.1), обновленную на эмуляторе версии 10, версии 2.8.3 в Eclipse с предоставленным плагин.
Представленный способ - предоставить конкретную версию образа ramdisk, где мы можем загрузить библиотеки Scala, которые резко сокращают размер кода для загрузки в эмулятор.
Я последовал за шагами, создал мир приветствия, добавил Scala nature, добавил фиктивный класс Scala, переместил конструктор Scala перед установщиком пакетов Android, все прекрасно работает, но когда я запускаю apk on эмулятор от Eclipse, приложение выходит из строя, и я получаю следующую ошибку, которая выглядит как как показано здесь (в конце документа):
03-29 10:29:38.505: E/AndroidRuntime(839): java.lang.NoClassDefFoundError: upg.TestSinceInstallation.ComputeSum
Если я удалю ссылку Scala в файле активности, она работает хорошо.
Вот файл TestSinceInstallation.java:
package upg.TestSinceInstallation;
import android.app.Activity;
import android.os.Bundle;
import upg.TestSinceInstallation.ComputeSum;
public class TestSinceInstallationActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
int a = 1;
int b = 5;
ComputeSum cs = new ComputeSum(a, b);
if(cs.getResut() == 6) {
setContentView(R.layout.main);
}
}
}
и вот файл ComputeSum.scala
package upg.TestSinceInstallation
class ComputeSum(a: Int, b: Int) {
def getResut() : Int = a + b
}
Как вы думаете, что я должен сделать, чтобы сделать эту работу? Я чувствую себя так близко к цели.