All Projects → vlang → Vab

vlang / Vab

Licence: mit
V Android Bootstrapper

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Vab

Appaddupdate
Android app 增量更新
Stars: ✭ 192 (+149.35%)
Mutual labels:  apk, ndk
Bytecode Viewer
A Java 8+ Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)
Stars: ✭ 12,606 (+16271.43%)
Mutual labels:  apk, compiler
Unityrtc
基于webrtc的unity多人游戏实时语音(A Unity Demo for Impl Real-time Game Voice Among Mutiplayers Based On WEBRTC)
Stars: ✭ 74 (-3.9%)
Mutual labels:  sdk
Cloudinary Vue
Cloudinary components library for Vue.js application, for image and video optimization.
Stars: ✭ 76 (-1.3%)
Mutual labels:  sdk
Meilisearch Python
Python wrapper for the MeiliSearch API
Stars: ✭ 75 (-2.6%)
Mutual labels:  sdk
Curso Sistemas Web Com Spring Javascript Bootstrap
Stars: ✭ 74 (-3.9%)
Mutual labels:  bootstrap
Modio Sdk Legacy
SDK for integrating mod.io into your game - a modding API for game developers
Stars: ✭ 75 (-2.6%)
Mutual labels:  sdk
Hugo Bootstrap
This is a simple Hugo theme using Bootstrap v4.
Stars: ✭ 74 (-3.9%)
Mutual labels:  bootstrap
Startbootstrap Shop Item
A shop item Bootstrap HTML template created by Start Bootstrap
Stars: ✭ 76 (-1.3%)
Mutual labels:  bootstrap
Mobile Security Framework Mobsf
Mobile Security Framework (MobSF) is an automated, all-in-one mobile application (Android/iOS/Windows) pen-testing, malware analysis and security assessment framework capable of performing static and dynamic analysis.
Stars: ✭ 10,212 (+13162.34%)
Mutual labels:  apk
React Native Jw Media Player
React-Native Android/iOS bridge for JWPlayer SDK (https://www.jwplayer.com/)
Stars: ✭ 76 (-1.3%)
Mutual labels:  sdk
Staradmin Free Bootstrap Admin Template
A Free Responsive Admin Dashboard Template Built With Bootstrap 4. Elegant UI Theme for Your Web App!
Stars: ✭ 1,191 (+1446.75%)
Mutual labels:  bootstrap
Streaming Ios
This repository contains a simple project with a number of iOS examples that can be used for testing and reference.
Stars: ✭ 74 (-3.9%)
Mutual labels:  sdk
Ts Transform Css Modules
Extract css class names from required css module files for TypeScript
Stars: ✭ 75 (-2.6%)
Mutual labels:  compiler
Kivy Apk
Vbox+Ubuntu16.04打包生成kivy apk
Stars: ✭ 74 (-3.9%)
Mutual labels:  apk
Bootstrap Aspnetcore Starter
DevExpress ASP.NET Core Bootstrap starter
Stars: ✭ 76 (-1.3%)
Mutual labels:  bootstrap
Online study system
在线学习管理系统,SSM框架的简单实践
Stars: ✭ 74 (-3.9%)
Mutual labels:  bootstrap
Weixin Python
微信SDK - 包括微信支付,微信公众号,微信登陆,微信消息处理等
Stars: ✭ 1,191 (+1446.75%)
Mutual labels:  sdk
Wtcms
基于thinkphp的内容管理系统,可快速搭建个人博客、公司学校官网、新闻类站点。
Stars: ✭ 75 (-2.6%)
Mutual labels:  bootstrap
Meta Clang
Clang C/C++ cross compiler and runtime for OpenEmbedded/Yocto Project
Stars: ✭ 76 (-1.3%)
Mutual labels:  sdk

V Android Bootstrapper

V Android Bootstrapper (vab) is the currently supported way to compile, package, sign and deploy V graphical apps on Android based devices.

Install

Currently Linux and macOS build hosts are supported. Dependencies:

  • V
  • Java (JDK) >= 8
  • Android SDK
  • Android NDK

(no Android Studio required)

git clone https://github.com/vlang/vab.git
cd vab
v vab.v

If vab fail to detect your environment you can set ENV variables to help it:

JAVA_HOME=/path/to/java-jdk
SDKMANAGER=/path/to//sdkmanager
ANDROID_SDK_ROOT=/path/to/android_sdk_linux
ANDROID_NDK_ROOT=/path/to/android_ndk_linux
VEXE=/path/to/custom/v/binary

Usage

Development (debug builds)

The fast way from V source to an APK is:

./vab /path/to/v/source/file/or/dir

... yes, that's it. Your APK should now reside in the current directory.

The fast way from source to a run on the device (build, package, deploy and launch app on device) is:

./vab run --device auto --archs 'armeabi-v7a' /path/to/v/source/file/or/dir

The --archs flag control what architectures your app is built for. You can specify multiple archs with --archs 'armeabi-v7a, arm64-v8a'. By default vab will build for all 4 supported CPU architectures (arm64-v8a, armeabi-v7a, x86 and x86_64).

Release

You can build an Android app ready for the Play Store with the following command:

export KEYSTORE_PASSWORD="pass"
export KEYSTORE_ALIAS_PASSWORD="word"
./vab -prod --name "V App" --package-id "com.example.app.id" --icon /path/to/file.png  --version-code <int> --keystore /path/to/sign.keystore --keystore-alias "example" /path/to/v/source/file/or/dir

Do not submit apps using default values. Please make sure to adhere to all guidelines of the app store you're publishing to.

AAB package format

vab supports outputting Android App Bundles (AAB). To output an .aab file you can specify the package format with the --package flag:

./vab --package aab /path/to/v/source/file/or/dir

Environment variables

If vab should fail to detect a tool or location on your build host you can use the following ENV variables to help vab understand your Android development setup.

Complete list of env variables recognized

VEXE                     # Absolute path to the V executable to use
JAVA_HOME                # Absolute path to the Java install to use
SDKMANAGER               # Absolute path to the sdkmanager to use
ANDROID_SERIAL           # ID of the device to deploy to
ANDROID_SDK_ROOT         # Absolute path to the Android SDK
ANDROID_NDK_ROOT         # Absolute path to the Android NDK
KEYSTORE_PASSWORD        # Password for keystore
KEYSTORE_ALIAS_PASSWORD  # Password for keystore alias
BUNDLETOOL               # Absolute path to the bundletool to use
AAPT2                    # Absolute path to the aapt2 to use
ADB                      # Absolute path to the adb to use
VAB_KILL_ADB             # Set to let vab kill adb after use. This is useful on some hosts.

See all options:

./vab -h

Setup

vab has support for downloading it's dependencies automatically, except the Java JDK.

If you have nerves to let it try and figure things out automatically simply do: vab install auto

Java

macOS

Installing Java JDK using homebrew

brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk

Linux

You should be able to find a way to install Java JDK >= 8 with your package manager of choice.

sudo apt install openjdk-<version>-jdk

E.g.: sudo apt install openjdk-8-jdk

Notes

vab targets as low an API level as possible by default for maximum compatibility, you can however tell it to target newer Android versions by using the --api flag. Example: vab --api 30 <...>. Installed API levels can be listed with vab --list-apis.

Troubleshooting

Android is a complex ecosystem - please consult our FAQ for answers to frequently asked questions.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].