在从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配置转储'在哪里?