Rune SWF on Android

Surgy

Member
Modder
Apr 23, 2018
367
1,534
Something like may help, but generally Flash is dead on Android. Last official from Adobe was and it needed a compatible browser like * or older, which can load local swfs from file://sdcard/Download/ type URLs.
*Firefox 55 needs plugins.http_https_only option disabled (set to false) in about:config. Newer versions won't work at all.

There is also possibility to compile swf to apk with or older. But some swf-s may not work this way.

In the latter case you should enable Unknown sources under Android's Security system setting, the setting needed to install Flash 11.1 runtime previously mentioned and the converted games.

After that convert swf-s with the following commands using adt application from bin folder of the unpacked archive.
1. Create signing key once:
Code:
adt -certificate -validityPeriod 25 -cn SelfSigned 2048-RSA sampleCert.p12 samplePassword
2. Convert each swf to apk after creating corresponding xml:
Code:
adt -package -target apk -storetype pkcs12 -keystore sampleCert.p12 -storepass samplePassword HelloWorld.apk HelloWorld.xml HelloWorld.swf
where HelloWorld.xml is text file like this:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<application xmlns="http://ns.adobe.com/air/application/31.0">
    <id>com.convertedswf.helloworld</id>
    <filename>HelloWorld</filename>
    <name>Hello World</name>
    <versionNumber>1.0.0</versionNumber>
    <versionLabel>v1.0</versionLabel>
    <initialWindow>
        <content>HelloWorld.swf</content>
        <!-- The aspect ratio of the app ("portrait" or "landscape" or "any"). Optional. Mobile only. Default is the natural orientation of the

device -->
        <aspectRatio>landscape</aspectRatio>
        <fullScreen>true</fullScreen>
        <!-- <autoOrients>true</autoOrients> -->
    <!-- Whether or not to pan when a soft keyboard is raised or lowered (either "pan" or "none").  Optional.  Defaults "pan." -->
    <!-- <softKeyboardBehavior></softKeyboardBehavior> -->
    <!-- Display Resolution for the app (either "standard" or "high"). Optional. Default "standard" -->
    <!-- <requestedDisplayResolution></requestedDisplayResolution> -->
    </initialWindow>
    <android>
       <manifestAdditions>
        <![CDATA[
            <manifest android:installLocation="auto">
                <!-- <uses-permission android:name="android.permission.INTERNET"/> -->
                <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
                <!-- <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> -->
                <uses-feature android:required="true" android:name="android.hardware.touchscreen.multitouch"/>
            </manifest>
        ]]>
        </manifestAdditions>
        <!-- <colorDepth></colorDepth> -->
        <!-- <containsVideo></containsVideo> -->
        <!-- <disableMediaCodec></disableMediaCodec> -->
    </android>
</application>
and HelloWorld.swf is your swf file.
 
Last edited:
  • Like
Reactions: lolsarlops