Android Studio'nun kurduğu apk, rastgele bir şekilde bozuldu. Genellikle lambdas etrafında (ama her seferinde farklı bir tane). Jack derlemesini ve her şeyin en son sürümünü kullanıyorum (sonunda listelenir). Temiz bir yapı yapana kadar problem devam ediyor (ve sonra her şey yolunda gidiyor). Aralıklı başarısızlıklar yeni bir olgudur. İşler bir süre için Jack ve Java 8 özellikleriyle kararlıydı. Maalesef, kesinti başarısızlıklarının başlamasından önce neyin değiştiğini anlayamıyorum.Jack and Android - Temizlenene kadar Lambda çalışma zamanı hatası
örnek kod:
private static final Ordering<Foo> ORDER_BY_FOO =
Ordering.natural().onResultOf(Foo::getId);
Gerçek sorun atama (Guava kodunda):
ByFunctionOrdering(Function<F, ? extends T> function, Ordering<T> ordering) {
this.function = checkNotNull(function); // <-- Fails
[...]
class ByFunctionOrdering<F, T> extends Ordering<F> {
final Function<F, ? extends T> function;
Örnek çalışma zamanı istisna:
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.mypackage, PID: 32222
java.lang.ExceptionInInitializerError
at com.mypackage.MyFragment.myOtherMethod(MyFragment.java)
at com.mypackage.MainActivity.myMethod(MainActivity.java:144)
at com.mypackage.MainActivity.onActivityResult(MainActivity.java:107)
at android.app.Activity.dispatchActivityResult(Activity.java:6932)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4085)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4132)
at android.app.ActivityThread.-wrap20(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1533)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
Caused by: java.lang.ClassCastException: com.mypackage.-$Lambda$0 cannot be cast to com.google.common.base.Function
at com.google.common.collect.ByFunctionOrdering.<init>(ByFunctionOrdering.java:39)
at com.google.common.collect.Ordering.onResultOf(Ordering.java:416)
at com.mypackage.MyFragment.<clinit>(MyFragment.java:110)
at com.mypackage.MyFragment.myOtherMethod(MyFragment.java)
at com.mypackage.MainActivity.myMethod(MainActivity.java:144)
at com.mypackage.GamesApiManager.onActivityResult(GamesApiManager.java:205)
at com.mypackage.MainActivity.onActivityResult(MainActivity.java:107)
at android.app.Activity.dispatchActivityResult(Activity.java:6932)
at android.app.ActivityThread.deliverResults(ActivityThread.java:4085)
at android.app.ActivityThread.handleSendResult(ActivityThread.java:4132)
at android.app.ActivityThread.-wrap20(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1533)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
- Android Studio/gradle inşa etmek araçları 2.2 .2
- Gradle 2.14.1
- buildToolsVersion 25.0.0
- sourceCompatibility/targetCompatibility JavaVersion.VERSION_1_8
- compileSdkVersion/targetSdkVersion 24
24.0.3'e geri dönmekten başka bir çözüm buldunuz mu? 25.0.1 de benim için düzeltmek için görünmüyor. –
Android Studio'yla çalışmayan birkaç haftadan sonra, en son güncelleme kümesini yükledim ve son iki gün boyunca herhangi bir sorunla karşılaşmadım. Bu, güncellemelerin herhangi bir şeyi düzeltdiği anlamına gelmez ... ama umut verici. Tekrar bir başarısızlık görüp görmediğimi rapor edeceğim – colithium
Ve bir intikamla geri dönmüş gibi görünüyor. Neredeyse tüm diğer değişiklikler temiz bir yapı gerektirir – colithium