Android Studio 1.0'rowProguard'vs'minifyEnabled'

时间:2014-12-22 15:34:17

标签: android android-studio synchronization proguard

在从Android Studio 0.9迁移到1.0期间,我不得不更改子句

buildTypes {
  release {
-     runProguard true
+     minifyEnabled true
}

按照建议here

我的应用正在运行标准同步适配器

public class SyncAdptr extends AbstractThreadedSyncAdapter {
  private static Context mCtx;

  public SyncAdptr(Context ctx, boolean autoInit) { 
    super(ctx, autoInit); mCtx = ctx; 
  }

  static void syncStart(Account gooAcct, String authority) {
    ...
    ContentResolver.setSyncAutomatically(gooAcct, authority, true);
    ...
  }
  ...
}

作为服务:

public class SyncService extends Service {
  private static final Object sSyncAdapterLock = new Object();
  private static SyncAdptr sAndyScanSyncAdapter = null;

  @Override
  public void onCreate() {
    synchronized (sSyncAdapterLock) {
      if (sAndyScanSyncAdapter == null) {
        sAndyScanSyncAdapter = new SyncAdptr(getApplicationContext(), true);
      }
    }
  }
  @Override
  public IBinder onBind(Intent intent) {
    return sAndyScanSyncAdapter.getSyncAdapterBinder();
  }
}

这是一个非常标准的样板代码,始终有效。

通过添加如上所述的'minifyEnabled'子句,同步停止工作,没有错误指示。我已经通过删除该条款进行了测试; APK的大小与我的调试版本大致相同,同步工作正常。当我插入'minifyEnabled'时,APK显着缩小(如预期的那样),但同步适配器再次退出。

有什么意见吗?建议?

更新(3个月后):

我已经进步到' Android Studio 1.1.0 AI-135.1740770 02/18/2015 ',但仍然没有区别。 'minifyEnabled = true'具有服务永远不会启动的效果。有谁知道在评论中提到的'ProgGuard配置转储'在哪里?

0 个答案:

没有答案