Skip to content

Commit c45e218

Browse files
committed
4.0.0 updates, "key" switching is not needed for unpacked applications
1 parent 8577996 commit c45e218

9 files changed

+21
-58
lines changed

.travis.yml

+4
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,9 @@ script:
77
- wget https://github.com/uberspot/2048-android/archive/v1.91.zip && unzip v1.91.zip
88
- chromeos-apk 2048-android-1.91/2048.apk -a -t
99
- stat com.uberspot.a2048.android/vendor/chromium/crx/custom-android-release-1400197.apk
10+
- rm -rf com.uberspot.a2048.android
1011
- chromeos-apk 2048-android-1.91/2048.apk
1112
- stat com.uberspot.a2048.android/vendor/chromium/crx/custom-android-release-1400197.apk
13+
- rm -rf com.uberspot.a2048.android
14+
- chromeos-apk 2048-android-1.91/2048.apk --scale
15+
- stat com.uberspot.a2048.android/vendor/chromium/crx/custom-android-release-1400197.apk

CHANGELOG

+4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
v4.0.0:
2+
changes:
3+
- "key" param is not required anymore for ChromeOS (Chrome 38+).
4+
- "--scale" option added to enable application window scaling.
15
v3.0.0:
26
changes:
37
- Windows support for the CLI tool.

README.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,10 @@ If you get a `Failed to parse package name in the APK.` error, then you will hav
7070

7171
## Note
7272

73-
**This is a proof of concept. You can run up to 4 Android applications right now with the regular runtime.
74-
By default the `chromeos-apk` tool replaces the Vine app. Read [the multiple apps manual](multiple-apps.md)
75-
to load more than one application at a time. To load unlimited number of apps read the [ARChon runtime guide](archon.md)**
73+
**Chrome OS:** With Chrome 38+ you can now side load as many applications as you want. If you have older apps that
74+
were created using `chromeos-apk` tool then re-convert them or remove the `"key"` option from `manifest.json`.
75+
76+
**Windows, Linux and OS X:** To load unlimited number of apps on you need a custom runtime, see the [ARChon runtime guide](archon.md) for details.
7677

7778
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
7879
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

_template/manifest.json

-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
"import": [ {
2323
"id": "mfaihdlpglflfgpfjcifdjdjcckigekc"
2424
} ],
25-
"key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh8HMM22e3J95V1TO1RSEF9j4eOATV+pIhGq5FFJek9l1aM9ot0B9rB25pWALNZdiW3hrgRcPR/8YGFaccFbcgneK29hnHbcbwSytdrhK2tF7iV3lbbd/FvENBODZXu3jGruWKRCtlsJgaOmA/97wpHEnn8vqkKLj4+W9kIU+dp+m9GzbB9eQijnt/7XQyJzS1YWsVZyrPaNrEibO33u+CesZ+9lSSJsvocd+r0CK+AvEY8mN27/OhNblDGLOQ/OC8L/AvEm9mU3wk11KyqS18e48XbH9Saxmsl72Z7FTcv4j/C0bqNyeJX1Ja2DMEoabuE2Jxm3vtP9jq+5UjRV1+wIDAQAB",
2625
"manifest_version": 2,
2726
"name": "__MSG_extName__",
2827
"oauth2": {

archon.md

-13
Original file line numberDiff line numberDiff line change
@@ -70,19 +70,6 @@ Add `"resize": "scale"` to `"arc_metadata"` in `manifest.json`.
7070

7171
Read [the manifest guide](manifest.md) for more advanced tweaks.
7272

73-
### Windows 32-bit NACL issues
74-
75-
TL;DR: use **ARChon 1.1.1**. There is a bug in Windows NACL that prevents applications from running (Issue [#38](https://github.com/vladikoff/chromeos-apk/issues/38)). You need to patch `runnable-ld.so` using a Python script:
76-
```
77-
import os
78-
filename = 'runnable-ld.so'
79-
size = os.stat(filename).st_size
80-
fh = open(filename, 'r+b')
81-
fh.truncate((size + 0xffff) & ~0xffff)
82-
fh.close()
83-
exit()
84-
```
85-
8673
### Older downloads
8774
> These are downloads for previous versions of ARChon
8875

chromeos-apk.js

+3-20
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@ module.exports = function (callback) {
1919
program
2020
.version('3.0.0')
2121
.option('-t, --tablet', 'Create a tablet version')
22-
.option('-a, --archon', 'Make app compatible with the custom ARChon runtime.')
23-
.option('-k, --key <n>', 'Specify key to be used. Default: 1', parseInt)
22+
.option('-s, --scale', 'Enable application window scaling')
2423
.option('-n, --name [value]', 'Extension display name')
2524
.usage('<path_to_apk_file ...>')
2625
.parse(process.argv);
@@ -100,25 +99,9 @@ module.exports = function (callback) {
10099
manifest.arc_metadata.formFactor = 'tablet';
101100
manifest.arc_metadata.orientation = 'landscape';
102101
}
103-
104-
if (program.key) {
105-
switch (program.key) {
106-
case 2:
107-
manifest.key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArHskrdG5EmB5QnEBPXw3TuQ1eHtLF2U7tIywykq4Hh8JQkKsX1aNn6azroEtZ0EslCWlvTleP9rBazLDoGYkCktjc/NAXCdoX728k+H/nxulYAWRkxeZiSbuyGAwt6jA67mq/QYHvsTMuIss/nwhdPVTPRrSpXnrWdO3CMMNMZH49edcAfnvrV8qRhJy3h9B8Qak3KYI2P+F501lGc8P6Xf8zzevvcL+ynFj7UgpDVnwDYVbTrnroC1FOpV8oNfnf1nar0Ii2izgDXl4EUt6zfaxEwJtc8o6HDKtPj2VwILOuWphmuMWHKsC+icExHnIm/oF61FMzyARaoWH2PjpJQIDAQAB';
108-
break;
109-
case 3:
110-
manifest.key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq/bF1OTNX8Sqz6ZlYlTJb3S/XRnIxM7Wab4vzSb1oQltJi/YMrcxyYvnQZJRYZDN7AoBBlwNG/dx2yrNdSaNFN1bT3AhzNGa3STOlESF6FktWCHiy3HMkiguALaGGx95PPxSWpBjClHGePbFILwKdWQ75p+j4SiBO1mlNoZgP/F1n+rUVYMOfHKPUbb5zFDH7LbHyZWSAHTJWIZKIcLOcubYq8ITJq5nBFxW7mV0hcLdhflLJCbO/9yemi4Rfs0do7yRyLXuSB1EisBHY00kquIyaVJwJIiBDIKGk3KFhetTX3C1JLWTIuGAmjAsf3LBu7AuflDdia5fOANgPAGnJwIDAQAB';
111-
break;
112-
case 4:
113-
manifest.key = 'MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq0UR3Z9iOO5m0taozmsdFdz1oKUCO02VRAMV3ZRwbHdYpg/Mo/dAauTeprLhnGY9N6aCjmDXrPXRcvLc/l8iV+v8U/zi32hvzcXw9d5G5WpQjIhCmLInG5eHOQWGXRTCF1wlrHlv+n4A0ZVYXBJ8zwhLZMrfR3jHhMVpJQOodmU2l/SjIOISfMseNSvkqIibLdzzyuaANh6EfgBOqLzC4yEG9rksTOU3Kr/Pqd/pxA7c1USM4iAZ7lWp8Tnf7m4XOya3K+CrMR0QKvspAF2aknK7eDyLNtG9lTxCDA2T5MD1BkUeHDlmn5ryr2D7myeFTYQqYXAgFrEYh/YKyIe22QIDAQAB';
114-
break;
115-
}
116-
}
117102

118-
if (program.archon) {
119-
try {
120-
delete manifest.key;
121-
} catch (e) {}
103+
if (program.scale) {
104+
manifest.arc_metadata.resize = 'scale';
122105
}
123106

124107
fs.writeFileSync(path.join(appPath, 'manifest.json'), JSON.stringify(manifest, null, 2));

lib/parseApk.js

-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
var util = require('util');
21
var ApkReader = require('adbkit-apkreader');
32

43
module.exports = function parseApk(apk, cb) {
@@ -11,4 +10,3 @@ module.exports = function parseApk(apk, cb) {
1110
cb(e);
1211
}
1312
};
14-

multiple-apps.md

+5-18
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,10 @@
33

44
*****
55

6-
Currently you can load up to 4 of your favorite Android applications with the official ARC runtime.
7-
By default the `chromeos-apk` tool replaces the Vine application and everytime you load a different app it replaces it. However you can load 3 more apps by replacing Evernote and other apps. For each extra app adjust the `"key"` value in the `manifest.json` file of that app, then use `"Load unpacked extension..."`.
6+
~~Currently you can load up to 4 of your favorite Android applications with the official ARC runtime.~~
7+
~~By default the `chromeos-apk` tool replaces the Vine application and everytime you load a different app it replaces it. However you can load 3 more apps by replacing Evernote and other apps. For each extra app adjust the `"key"` value in the `manifest.json` file of that app, then use `"Load unpacked extension..."`.~~
88

9-
To load unlimited number of apps you need a custom runtime, see the [ARChon runtime guide](archon.md) for details.
10-
11-
12-
## Key1 - Default App Slot
13-
> MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAh8HMM22e3J95V1TO1RSEF9j4eOATV+pIhGq5FFJek9l1aM9ot0B9rB25pWALNZdiW3hrgRcPR/8YGFaccFbcgneK29hnHbcbwSytdrhK2tF7iV3lbbd/FvENBODZXu3jGruWKRCtlsJgaOmA/97wpHEnn8vqkKLj4+W9kIU+dp+m9GzbB9eQijnt/7XQyJzS1YWsVZyrPaNrEibO33u+CesZ+9lSSJsvocd+r0CK+AvEY8mN27/OhNblDGLOQ/OC8L/AvEm9mU3wk11KyqS18e48XbH9Saxmsl72Z7FTcv4j/C0bqNyeJX1Ja2DMEoabuE2Jxm3vtP9jq+5UjRV1+wIDAQAB
14-
15-
## Key2
16-
> MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArHskrdG5EmB5QnEBPXw3TuQ1eHtLF2U7tIywykq4Hh8JQkKsX1aNn6azroEtZ0EslCWlvTleP9rBazLDoGYkCktjc/NAXCdoX728k+H/nxulYAWRkxeZiSbuyGAwt6jA67mq/QYHvsTMuIss/nwhdPVTPRrSpXnrWdO3CMMNMZH49edcAfnvrV8qRhJy3h9B8Qak3KYI2P+F501lGc8P6Xf8zzevvcL+ynFj7UgpDVnwDYVbTrnroC1FOpV8oNfnf1nar0Ii2izgDXl4EUt6zfaxEwJtc8o6HDKtPj2VwILOuWphmuMWHKsC+icExHnIm/oF61FMzyARaoWH2PjpJQIDAQAB
17-
18-
19-
## Key3
20-
> MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq/bF1OTNX8Sqz6ZlYlTJb3S/XRnIxM7Wab4vzSb1oQltJi/YMrcxyYvnQZJRYZDN7AoBBlwNG/dx2yrNdSaNFN1bT3AhzNGa3STOlESF6FktWCHiy3HMkiguALaGGx95PPxSWpBjClHGePbFILwKdWQ75p+j4SiBO1mlNoZgP/F1n+rUVYMOfHKPUbb5zFDH7LbHyZWSAHTJWIZKIcLOcubYq8ITJq5nBFxW7mV0hcLdhflLJCbO/9yemi4Rfs0do7yRyLXuSB1EisBHY00kquIyaVJwJIiBDIKGk3KFhetTX3C1JLWTIuGAmjAsf3LBu7AuflDdia5fOANgPAGnJwIDAQAB
21-
22-
23-
## Key4
24-
> MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq0UR3Z9iOO5m0taozmsdFdz1oKUCO02VRAMV3ZRwbHdYpg/Mo/dAauTeprLhnGY9N6aCjmDXrPXRcvLc/l8iV+v8U/zi32hvzcXw9d5G5WpQjIhCmLInG5eHOQWGXRTCF1wlrHlv+n4A0ZVYXBJ8zwhLZMrfR3jHhMVpJQOodmU2l/SjIOISfMseNSvkqIibLdzzyuaANh6EfgBOqLzC4yEG9rksTOU3Kr/Pqd/pxA7c1USM4iAZ7lWp8Tnf7m4XOya3K+CrMR0QKvspAF2aknK7eDyLNtG9lTxCDA2T5MD1BkUeHDlmn5ryr2D7myeFTYQqYXAgFrEYh/YKyIe22QIDAQAB
9+
**Chrome OS:** With Chrome 38+ you can now side load as many applications as you want. If you have older apps that
10+
were created using `chromeos-apk` tool then re-convert them or remove the `"key"` option from `manifest.json`.
2511

12+
**Windows, Linux and OS X:** To load unlimited number of apps on you need a custom runtime, see the [ARChon runtime guide](archon.md) for details.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "chromeos-apk",
3-
"version": "4.0.0-pre",
3+
"version": "4.0.0",
44
"description": "Run Android APKs on Chromebooks",
55
"main": "chromeos-apk.js",
66
"scripts": {

0 commit comments

Comments
 (0)