Set the android:debuggable flag when building an APK in debug mode (#4523)
See https://github.com/flutter/flutter/issues/4438
diff --git a/packages/flutter_tools/lib/src/commands/build_apk.dart b/packages/flutter_tools/lib/src/commands/build_apk.dart
index 08ee4ff..a52be03 100644
--- a/packages/flutter_tools/lib/src/commands/build_apk.dart
+++ b/packages/flutter_tools/lib/src/commands/build_apk.dart
@@ -104,7 +104,7 @@
runCheckedSync(packageArgs);
}
- void package(File outputApk, File androidManifest, Directory assets, Directory artifacts, Directory resources) {
+ void package(File outputApk, File androidManifest, Directory assets, Directory artifacts, Directory resources, BuildMode buildMode) {
List<String> packageArgs = <String>[_aapt.path,
'package',
'-M', androidManifest.path,
@@ -112,6 +112,8 @@
'-I', _androidJar.path,
'-F', outputApk.path,
];
+ if (buildMode == BuildMode.debug)
+ packageArgs.add('--debug-mode');
if (resources != null)
packageArgs.addAll(<String>['-S', resources.absolute.path]);
packageArgs.add(artifacts.path);
@@ -333,7 +335,7 @@
File unalignedApk = new File('${tempDir.path}/app.apk.unaligned');
builder.package(
unalignedApk, components.manifest, assetBuilder.directory,
- artifactBuilder.directory, components.resources
+ artifactBuilder.directory, components.resources, buildMode
);
int signResult = _signApk(builder, components, unalignedApk, keystore);