Git Product home page Git Product logo

link-bubble's Introduction

Brave for Android (formerly Link Bubble)

##Install instructions and setup

git clone [email protected]:brave/browser-android.git

Either install the Crashlytics/Fabric Android Studio plugin or copy Application/LinkBubble/fabric.properties.template to Application/LinkBubble/fabric.properties and fill in the apiSecret.

Copy Application/LinkBubble/src/main/java/com/linkbubble/ConfigAPIs.java.template to Application/LinkBubble/src/main/java/com/linkbubble/ConfigAPIs.java and fill in the youtube apiSecret.

Copy Application/LinkBubble/src/main/AndroidManifest.xml.template to Application/LinkBubble/src/main/AndroidManifest.xml and fill in com.crashlytics.ApiKey and io.fabric.ApiKey with your Crashlytics API key. You can obtain it from logging into your Fabric account and going to: Settings -> Organizations -> Brave (or your organization) then click on API Key at the top.

npm install

##Building

Open ./Application/ in Android Studio and build. You'll need the NDK installed if you don't already have it, instructions below.

##Building release build

Copy build-release.sh.template to build-release.sh.

Modify each of these exported environment variables: LINK_BUBBLE_KEYSTORE_LOCATION, LINK_BUBBLE_KEYSTORE_PASSWORD, and LINK_BUBBLE_KEY_PASSWORD.

If you get an error about similar to:

Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]

Try uninstalling the application which already exists on your plugged in device.

##Installing the NDK

Android Studio has an easy way to download and link to the NDK.

In the menu navigate to File, Project Structure. Click the 'Download Android NDK' link. This should download and unzip the NDK, as well as link it inside of local.properties.

If you are not using Android Studio, reference this commit: https://github.com/brave/browser-android/commit/0fa9f58286e0679ec5772e19b995d6a508907691

##Telling getlocalization.com about new strings

  1. Periodically upload the file ./Application/LinkBubble/src/main/res/values/strings.xml to getlocalization.com. getlocalization.com will determine which strings are new
  2. When prompted on getlocalization.com, press the mark for retranslation (or keep existing) for changed strings.

##Getting new translated strings from getlocalization.com

  1. Install npm dependencies with npm install.
  2. Run npm run translate <username> <password> to pull down the translated xml files.
  3. Commit and push your change.

Remember to uncomment checkStrings from MainApplication and call it in onCreate to make sure the pulled files don't cause crashes with format specifiers.

##ADB

If you don't have adb in your path add it to your ~/.bash_profile or similar file:

export PATH=/Users/<your-username>/Library/Android/sdk/platform-tools:$PATH

  • Installing an apk onto your device:
    adb install -r ./LinkBubble/build/outputs/apk/LinkBubble-playstore-release.apk
  • Getting a list of devices: adb devices

link-bubble's People

Contributors

chrislacy avatar sergeyzhukovsky avatar gw3583 avatar bbondy avatar kevingrandon avatar craigmichaelmartin avatar davidyen1124 avatar

Watchers

 avatar

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.