2016-03-30 3 views
0

İlk uygulamanızı realm ve oops ile kullanıma sunmaya hazırız, sonunda bir sürüm oluşturmayı denedik. .: Biz bölge proguard ayarlarını önerilen kullandığınızProguard başarısızlıkla Realm sürüm oluşturma - bulunamadı io.realm.RealmHelper

-keep class io.realm.annotations.RealmModule -keep @io.realm.annotations.RealmModule class * -keep class io.realm.internal.Keep -keep @io.realm.internal.Keep class * { *; } -dontwarn javax.** -dontwarn io.realm.**

herhangi bir öneriniz yani

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/com.example.activities.IntroActivity}: io.realm.exceptions.RealmException: Could not find io.realm.RealmHelper$ManifestModuleMediator ... Caused by: io.realm.exceptions.RealmException: Could not find io.realm.RealmHelper$ManifestModuleMediator at io.realm.y.a(Unknown Source) at io.realm.y.a(Unknown Source) at io.realm.y.<init>(Unknown Source) at io.realm.y.<init>(Unknown Source) at io.realm.z.a(Unknown Source) at com.example.realm.RealmHelper.a(Unknown Source) at com.example.activities.IntroActivity.onCreate(Unknown Source)

: Biz, ile fırlatma sonra uygulama çöküyor ProGuard etkinleştirmek kadar her şey gayet iyi çalışıyor? Maalesef herhangi proguard sihirbazları yok ...

FWIW, ben proguard config bu satırı ekleyerek çalıştı:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/com.example.activities.IntroActivity}: io.realm.exceptions.RealmException: Could not find io.realm.RealmHelper$ManifestModuleMediator ... Caused by: io.realm.exceptions.RealmException: Could not find io.realm.RealmHelper$ManifestModuleMediator at io.realm.RealmConfiguration.getModuleMediator(Unknown Source) at io.realm.RealmConfiguration.createSchemaMediator(Unknown Source) at io.realm.RealmConfiguration.<init>(Unknown Source) at io.realm.RealmConfiguration.<init>(Unknown Source) at io.realm.RealmConfiguration$Builder.build(Unknown Source) at com.example.realm.RealmHelper.a(Unknown Source) at com.example.activities.IntroActivity.onCreate(Unknown Source) at android.app.Activity.performCreate(Activity.java:6251)

: hiç iz değişti

-keep class io.realm.** { *; }

Bu yardımcı olur mu emin olun ...

+0

Hangi Realm sürümünü kullanıyorsunuz? –

+0

Ayrıca, ek açıklama işlemcisinin çalışmadığı gibi geliyor. Gradle çıktısına bakarsanız, böyle bir şeye benzeyen çizgiler görürsünüz: 'not: İşleniyor XXX'. Bunlar mevcut değilse, ek açıklama işlemcisinin çalışmadığı anlamına gelir. –

+0

Realm 0.88.2. Aslında ek açıklama işlemcisi her zaman çalışmıyordu, ancak bu sadece optimizasyon olduğundan emin değildim çünkü her zaman "temiz" ya da başka bir şey yapmıyordum. FYI, aşağıda verdiğim cevapla çalıştık. Ancak, belki de bu bir tesadüf mü? Düzenlemek, değiştirmek, başka eklemek için çekinmeyin ve doğru olarak işaretleyeceğim. Burada sadece clueless olduğum daha büyük bir sorun olduğundan şüpheleniyorum :) Hızlı yanıt için teşekkürler! Alem kayalar! – mm2001

cevap

0

Bu iki @R'yi ayırarak sorunu giderebildik ealmModule sınıflarını ayrı dosyalara. Yani Biz den gitti:

RealmHelper.java

@RealmModule(classes = {Publisher.class, Puzzle.class, Volume.class, VolumeSet.class}) 
public static class ManifestModule { 
} 

@RealmModule(classes = {PuzzleMove.class, PuzzleState.class, VolumeState.class}) 
public static class PuzzleStateModule { 
} 

için:

bölge/modüller/ManifestModule.java

@RealmModule(classes = {Publisher.class, Puzzle.class, Volume.class, VolumeSet.class}) 
public class ManifestModule { 
} 

ve bölge/modüller/PuzzleStateModule.java

@RealmModule(classes = {PuzzleMove.class, PuzzleState.class, VolumeState.class}) 
public class PuzzleStateModule { 
} 

RealmHelper.java

import com.example.realm.modules.ManifestModule; 
import com.example.realm.modules.PuzzleStateModule 

Bir ikisiyle Tamam çalıştı dosyası ve neden ile olmuyordu Ne sihirli emin değilim Proguard bir şekilde ya da diğerini dürttü, ama yine de çalışıyor gibi görünüyor!