]> git.tdb.fi Git - builder.git/blobdiff - source/androidmanifestgenerator.cpp
Set the debuggable flag in Android manifest if debug is set in build info
[builder.git] / source / androidmanifestgenerator.cpp
index b0c7f8fd82ef8779e35ead02ac75a92baa0fb034..156dfb35fd9abcdbca33710c5ce4f70b2edf71a0 100644 (file)
@@ -35,12 +35,16 @@ void AndroidManifestGenerator::Worker::main()
        const Component &comp = *manifest.get_component();
        const SourcePackage &pkg = comp.get_package();
 
+       BuildInfo binfo;
+       manifest.collect_build_info(binfo);
+
        IO::BufferedFile out(manifest.get_path().str(), IO::M_WRITE);
        out.write("<?xml version=\"1.0\" encoding=\"utf-8\"?>\n");
        IO::print(out, "<manifest xmlns:android=\"http://schemas.android.com/apk/res/android\" package=\"%s\">\n", comp.get_name());
        out.write("\t<uses-sdk android:minSdkVersion=\"9\" />\n");
        // TODO Make the icon name configurable
-       IO::print(out, "\t<application android:icon=\"@drawable/icon\" android:label=\"%s\" android:hasCode=\"false\">\n", pkg.get_label());
+       bool debuggable = binfo.debug;
+       IO::print(out, "\t<application android:icon=\"@drawable/icon\" android:label=\"%s\" android:hasCode=\"false\" android:debuggable=\"%s\">\n", pkg.get_label(), debuggable);
        if(SharedLibrary *native_lib = manifest.get_native_library())
        {
                out.write("\t\t<activity android:name=\"android.app.NativeActivity\">\n");
@@ -52,6 +56,9 @@ void AndroidManifestGenerator::Worker::main()
                out.write("\t\t</activity>\n");
        }
        out.write("\t</application>\n");
+       const set<string> &permissions = manifest.get_permissions();
+       for(set<string>::const_iterator i=permissions.begin(); i!=permissions.end(); ++i)
+               IO::print(out, "\t<uses-permission android:name=\"%s\" />\n", *i);
        out.write("</manifest>\n");
 
        status = Task::SUCCESS;