sisbell / masa Goto Github PK
View Code? Open in Web Editor NEWMaven Plugins for Android
License: Apache License 2.0
Maven Plugins for Android
License: Apache License 2.0
The reslink plugin should
Surefire Properties are for the build machine, not the device. Properties should be from device.
Create new proguard plugin. The popular pyx4me plugin is more appropriate for non-android build lifecycles.
We want to
Verify Integrity of APK file during signing phase
[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]
Gen folder in Maven interferes with Eclipse. Get duplicate classes exception.
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
Command line builds won't work with Android 2.1+ due to the aapt having too small of a buffer size. The aapt needs to be patched for affected platforms.
Implement the following cases for signing
Sign with android debug key
Sign with AOSP Keys
Sign with keystore, private key alias/password
Sign with certificate and private key file
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.
ApkBuilder: Add resources from jar to apk
Mojo for installing main and test artifacts to a device.
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.
Maven plugin for new lint tool
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 a[dd] [-v] file.{zip,jar,apk} file1 [file2 ...]
Add specified files to Zip-compatible archive.
Linking of AndroidManifest.xml files are absolute. This can break team builds.
ApkBuilder: Add the content from a zip file to apk
The reslinks should not have required params since plugin is part of the lifecycle but not required to build.
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.
Need to replace the apkbuilder with the aapt command.
ApkBuilder: Add a file to the APK at a given path
Dump badging of apk meta-data into report directory.
Android artifact not found in package phase. Causes build failure.
The androidVersion is hardcoded to 15 for tools.
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.
Position params: none, important, lines
Adding param for Native Libs to ApkBuilder plugin
ApkBuilder: Add resource folders to apk
If android sdk not configured through environment or toolchains, need more graceful error shown to user. Currently, just generic failure on aapt command.
Add option that will include the version code in build artifact name: example-1.0-23.apk. This allows versioning of intermediate builds before I 'final' release. This should be directly read from the AndroidManifest.xml.
ZipAlign plugin to be run after signing of application,
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.
Add support for renaming of package during build.
Proguard SDK file not found if not using toolchains.xml
Add support for disabling the proguard plugin execution through: 1) plugin configuration in pom and 2) command line property
Output file type must be .dex .jar .zip .apk. Verify this.
Project still contains 2.0.10 version of maven, upgrade all poms to latest release version of maven.
Disable the proguard plugin if it is a debug build.
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. 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 r[emove] [-v] file.{zip,jar,apk} file1 [file2 ...]
Delete specified files from Zip-compatible archive.
DxPlugin not picking up compile dependencies.
ApkBuilder: Hook verbose output to maven logs
Support X509Certificate to sign apk. This would be configured in the apkbuilder plugin.
Aidl failure if not using toolchains.xml. Can't find tool...
android-sdks/platforms/android-null/framework.aidl
ApkBuilder: allow multiple native lib directories
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.