Giter VIP home page Giter VIP logo

masa's People

Contributors

sisbell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

masa's Issues

Reslink Plugin Properties output

The reslink plugin should

  1. Output to properties file which directories it was configured to link against. This allows the developer to know the mode that the project is currently configure for
  2. output a file (to say the target directory) which gives a complete list of all of the linked files

Surefire Properties

Surefire Properties are for the build machine, not the device. Properties should be from device.

Proguard Plugin

Create new proguard plugin. The popular pyx4me plugin is more appropriate for non-android build lifecycles.

We want to

  1. Optimize with proguard prior to the dex byte-code processing.
  2. Allow interpolation of proguard config files prior to use

Missing Plugin Version Warning in IT Tests

[WARNING]
[WARNING] Some problems were encountered while building the effective model for org.jvending.masa.it.masa:masa-gh2:android:apk:1.0
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-resources-plugin is missing. @ line 35, column 12
[WARNING] 'build.plugins.plugin.version' for org.jvending.masa.plugins:maven-aapt-plugin is missing. @ line 26, column 12
[WARNING]
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING]
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.
[WARNING]

Detect if debug cert has expired

Detect if debug cert has expired and generate new one if this is the case. By default this just occurs once a year.

Error generating final archive: Debug Certificate expired on xx.xx.xx

ApkBuilder: Key Signing

Implement the following cases for signing

  1. Sign with android debug key

  2. Sign with AOSP Keys

  3. Sign with keystore, private key alias/password

  4. Sign with certificate and private key file

Maven Manifest Plugin

Maven manifest plugin that allows developer to specify different AndroidManifest based on a profile. This plugin should allow interpolation/filtering of parameters in the AndroidManifest file. This allows dynamic values to be put in the AndroidManifest based on pom or environmental variables.

Resource linking plugin

Resource linking plugin. The project will contain a resources directory that will have subfolders containing layout files and resources specific to devices. The plugin will virtually map those files to the res directory.

Error stream on app installation

Using the command line invocation of adb install results in the adb tool writing the results to the error stream. This makes automated testing (which checks for errors in log) difficult. Consider directly using the api.

Aapt Add Mojo

aapt a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
Add specified files to Zip-compatible archive.

Aapt Dump Plugin

Aapt Dump Plugin - this is useful for the developer to visually verify manifest info after build. Also output to report file in target directory

aapt d[ump] [--values] WHAT file.{apk} [asset [asset ...]]
badging Print the label and icon for the app declared in APK.
permissions Print the permissions from the APK.
resources Print the resource table from the APK.
configurations Print the configurations in the APK.
xmltree Print the compiled xmls in the given assets.
xmlstrings Print the strings of the given compiled xml assets.

Dump Badging

Dump badging of apk meta-data into report directory.

Replace jar signer with ApkBuilder

Replace jar signer plugin with ApkBuilder plugin. This is generally less efficient but will make it easier to implement consistent flow for both keystores and certificate signing.

Android Environment Not Set Error

If android sdk not configured through environment or toolchains, need more graceful error shown to user. Currently, just generic failure on aapt command.

Configure toolchains in Project Root

Allow user to place toolchains.xml file within the project root. This makes it easier to configure CI systems (like Jenkins) where user may not have file system access.

Proguard: Report Options

Create output reports for proguard similar to the Android eclipse plugin and ant builds:

dump.txt
Describes the internal structure of all the class files in the .apk file
mapping.txt
seeds.txt
Lists the classes and members that are not obfuscated
usage.txt
Lists the code that was stripped from the .apk

Complete Dx Tool Options

Complete Dx Tool Options. This is a general issue placeholder that may contain related issues

dx --dex [--debug]

[--verbose]

[--positions=<style>]

[--no-locals]

[--no-optimize]

[--statistics]

[--[no-]optimize-list=]

[--no-strict]

[--keep-classes] [--output=]

[--dump-to=]

[--dump-width=]

[--dump-method=[*]]

[--verbose-dump] [--no-files] [--core-library]

[--num-threads=]

[.class | .{zip,jar,apk} | ] ...
Convert a set of classfiles into a dex file, optionally embedded in a
jar/zip. Output name must end with one of: .dex .jar .zip .apk. Positions
options: none, important, lines.

dx --annotool --annotation= [--element=]
[--print=]

dx --dump [--debug] [--strict] [--bytes] [--optimize]
[--basic-blocks | --rop-blocks | --ssa-blocks | --dot] [--ssa-step=]
[--width=] [.class | .txt] ...
Dump classfiles, or transformations thereof, in a human-oriented format.

dx --junit [-wait]
Run the indicated unit test.

dx -J ... <arguments, in one of the above forms>
Pass VM-specific options to the virtual machine that runs dx.

Aapt Remove Mojo

aapt r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
Delete specified files from Zip-compatible archive.

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.