Code Monkey home page Code Monkey logo

devtools-adb-extension's Introduction

ADB Extension

This is a Firefox extension that supports remote debugging in Firefox DevTools. It provides ADB binaries used by DevTools to connect to Firefox/GeckoView products on Android devices via USB.

Releases

  1. Update the value of the VERSION variable in the Makefile (and commit the change)

  2. Run make package. The following files should have been generated in the dist/ folder:

    $ tree dist
    ├── linux
    │   ├── adb-extension-0.0.7.0-linux.xpi
    │   └── update.json
    ├── linux64
    │   ├── adb-extension-0.0.7.1-linux64.xpi
    │   └── update.json
    ├── mac64
    │   ├── adb-extension-0.0.7.2-mac64.xpi
    │   └── update.json
    └── win32
        ├── adb-extension-0.0.7.3-win32.xpi
        └── update.json
    
  3. Upload the different XPI files to AMO as unlisted versions. You MUST respect the order of the versions, i.e. start with linux (because its version is 0.0.7.0), then linux64 (because its version is 0.0.7.1), etc.

  4. Download the signed XPI files. Note that AMO changes the name of the signed XPIs so you have to rename each file individually. For example, uploading adb-extension-0.0.7.0-linux.xpi will produce a signed file named 27a75f558d3c46da8dcd-0.0.7.0.xpi, which you'll need to rename to adb-extension-0.0.7.0-linux.xpi.

  5. Upload the signed XPI files and their update.json files to the FTP server. Note that we'll want to upload the versioned XPIs (e.g. adb-extension-0.0.7.3-win32.xpi) as well as "latest" copies (e.g. adb-extension-latest-win32.xpi). You should have the following files to be added to the FTP server:

    # IMPORTANT: all the XPI files here are signed. They are not the same as above in Step 2.
    # The `update.json` files are coming from the Step 2, though.
    
    $ tree adb-0.0.7
    ├── linux
    │   ├── adb-extension-0.0.7.0-linux.xpi
    │   ├── adb-extension-latest-linux.xpi
    │   └── update.json
    ├── linux64
    │   ├── adb-extension-0.0.7.1-linux64.xpi
    │   ├── adb-extension-latest-linux64.xpi
    │   └── update.json
    ├── mac64
    │   ├── adb-extension-0.0.7.2-mac64.xpi
    │   ├── adb-extension-latest-mac64.xpi
    │   └── update.json
    └── win32
        ├── adb-extension-0.0.7.3-win32.xpi
        ├── adb-extension-latest-win32.xpi
        └── update.json
    
    # For each "arch", the "latest" XPI should be the same as the versioned one.
    $  sha256sum */*.xpi
    fb53093a114d074b44fae57b6c1333d2c05a16490de61851d9f9c68584c5131e  linux/adb-extension-0.0.7.0-linux.xpi
    fb53093a114d074b44fae57b6c1333d2c05a16490de61851d9f9c68584c5131e  linux/adb-extension-latest-linux.xpi
    
    9f94434cc0aff1dc24afd10b3dce80429a287cfb82ab8dcee454c2f0210e98d6  linux64/adb-extension-0.0.7.1-linux64.xpi
    9f94434cc0aff1dc24afd10b3dce80429a287cfb82ab8dcee454c2f0210e98d6  linux64/adb-extension-latest-linux64.xpi
    
    4777e776d7d33e8998f2121168541f23a4d351e4cd526a945d1ea438ee25f478  mac64/adb-extension-0.0.7.2-mac64.xpi
    4777e776d7d33e8998f2121168541f23a4d351e4cd526a945d1ea438ee25f478  mac64/adb-extension-latest-mac64.xpi
    
    4ed47f030b24abb6de904b25e7cdff8d5475d7e1a6b0bbc581162bc3bc35826b  win32/adb-extension-0.0.7.3-win32.xpi
    4ed47f030b24abb6de904b25e7cdff8d5475d7e1a6b0bbc581162bc3bc35826b  win32/adb-extension-latest-win32.xpi
    

Discussion

For questions and issues specific to this extension, you can use the GitHub issue tracker.

For more general questions about remote debugging in DevTools or DevTools in general, you can:

  • come chat with us on Slack or IRC (#devtools at irc.mozilla.org)
  • file bugs on Bugzilla

devtools-adb-extension's People

Contributors

birtles avatar juliandescottes avatar massic80 avatar mozilla-github-standards avatar willdurand avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

devtools-adb-extension's Issues

Rename extension to "ADB Extension"

Right now the repository name is "devtools-adb-extension", but the extension's name "ADB binary provider". For consistency I would like to rename the extension to "ADB Extension" or "DevTools ADB Extension".

Ultimately this extension might be hidden from about:addons (once we have a satisfying way to add/remove the extension from DevTools UI). But it would still be nice to agree on the name.

@hiikezoe @birtles objections, suggestions?

Add sign and release scripts

Similarly to the current adbhelper, we should have signing and release scripts, as well a release documentation.

Migrate template-manifest.json from "applications" to "browser_specific_settings"

I noticed this as part of reviewing https://phabricator.services.mozilla.com/D160057 (part of Bug 1797050) and so I thought to file this followup upfront:

In MV3 we plan to fully deprecate "applications" from the manifest.json, in favor from the other alias "browser_specific_settings" (which we support from quite a long time and so it should be backward compatible enough also with older Firefox versions) and so we may change the template-manifest.json part of this repo to make sure we migrated the adb addon away from it ahead to its future deprecation.

The diff to apply the change describe above would look like in the following diff:

diff --git a/extension/template-manifest.json b/extension/template-manifest.json
index 8888843..f0a47ab 100644
--- a/extension/template-manifest.json
+++ b/extension/template-manifest.json
@@ -4,7 +4,7 @@
   "author": "Mozilla & Android Open Source Project",
   "version": "@@VERSION@@",
   "description": "An extension providing ADB binaries for Android remote debugging in Firefox DevTools. May be automatically installed when using about:debugging.",
-  "applications": {
+  "browser_specific_settings": {
     "gecko": {
       "id": "[email protected]",
       "strict_min_version": "64.0a1",

NOTE: the template-updates.json file also includes an "applications" property which SHOULD NOT be changed to "browser_specific_settings", for that one Firefox doesn't yet support any alias named "browser_specific_settings" and unfortunately its named and its format looks basically the same as the manifest.json one which may be confusing and so I'm calling it out explicitly in this issue to make sure we don't mistakenly change that one along with the manifest.json one.

Wiki changes

FYI: The following changes were made to this repository's wiki:

These were made as the result of a recent automated defacement of publically writeable wikis.

Add README.md

We should have a short description of the extension in this repository.

DevTools ADB Extension forces itself to be allowed in private windows (won't let you disallow it)

STR:

  1. Install Firefox DevTools ADB Extension in Firefox Nightly (by visiting Tools | Web Developer | WebIDE -- this causes the extension to suddenly appear in your list of installed addons).

  2. In a new tab, visit about:addons and click "extensions"
    --> Note that Firefox DevTools ADB Extension is tagged as ALLOWED IN PRIVATE WINDOWS

  3. Click the addon to view its settings, and try to click radio button labeled...
    "Run in Private Windows: ... [] Don't allow"

EXPECTED RESULTS: Click should be honored, "Don't Allow" should be selected.
ACTUAL RESULTS: "Don't Allow" is only selected very briefly, and then "Allow" becomes selected again.

There doesn't seem to be any way to select "Don't Allow". You can get it selected for slightly longer if you Disable the addon and then pick Don't Allow while it's disabled, but once you reenable it, then "Allow" becomes selected on your next (re)-load of about:addons.

CODE_OF_CONDUCT.md file missing

As of January 1 2019, Mozilla requires that all GitHub projects include this CODE_OF_CONDUCT.md file in the project root. The file has two parts:

  1. Required Text - All text under the headings Community Participation Guidelines and How to Report, are required, and should not be altered.
  2. Optional Text - The Project Specific Etiquette heading provides a space to speak more specifically about ways people can work effectively and inclusively together. Some examples of those can be found on the Firefox Debugger project, and Common Voice. (The optional part is commented out in the raw template file, and will not be visible until you modify and uncomment that part.)

If you have any questions about this file, or Code of Conduct policies and procedures, please see Mozilla-GitHub-Standards or email [email protected].

(Message COC001)

Proxy extension

Do it is possible to use this extension from other extension to get devices and execute shell command?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.