Related
This is a VirtualBox appliance aiming at development for Android:
Java Development with Eclipse
Kernel Development with GCC / NDK
ROM Development
The goals of this appliance is to provide an environment for beginners to be up-and-running within minutes, whether you want to code in Java, compile Android or your favorite ROM. The appliance is tuned for performance (guest additions) and aims at becoming your daily companion.
If you need training / tutorials there are plenty on xda-dev. This thread does not aim at being a how-to but interesting reference threads will be linked in the future.
Features
Distro: Linux Mint 13 32bit (Maja) VBox (VDI 20GB) with VirtualBox Guest Additions
Toolset: Oracle/SUN JDK 1.7.0_07-b10, git, subversion, Eclipse 4.2 (Juno) for Mobile Developers, android SDK r21.0.1, apktool, repo, knives-and-forks
For feature requests or to report problems please use this thread or the github project issues
Eclipse Plugins:
Java Development
C/C++ Development
Subversion
EGit
ADT
FindBugs
Mylyn
Set up
Install VirtualBox
Download the appliance and uncompress it to the directory where you have your virtual machines
Create a new virtual machine (linux, other) and allocate 2GB RAM to it
Select "use existing startup disk" and point to AndroidDev_VA.vdi
Create
Start
Username / Password: android / android (has sudo rights)
Download (thank you to [B @cri for hosting)[/B]
AndroidDev_VA_1.1.0.0.gz (5,5GB)
or as split files (520MB)
Part 1
Part 2
Part 3
Part 4
Part 5
Part 6
Part 7
Part 8
Part 9
Part 10
Part 11
AndroidDev_VA_1.1.0.0.md5
New Version 2.0
Part 1
Part 2
Part 3
Part 4
AndroidDev_VA_2.0.0.0.md5
If you are interested in hosting mirrors or seed torrents please feel free to contact me, I will link them here.
Compress/uncompress:
Code:
# create archives
$ gzip --best -c my_large_file.vdi | split -b 1024MiB - myfile_split.gz_
# uncompress
$ cat myfile_split.gz_* | gunzip -c > my_large_file.vdi
Create/check md5sum:
Code:
#create md5sums
$ md5sum -b AndroidDev_VA_1.1.0.0_split* > AndroidDev_VA_1.1.0.0.md5
# check
$ md5sum -c AndroidDev_VA_1.1.0.0.md5
Further reading
This section is open for your suggestions
Zero out free space and compact an image
Life cycle
I plan to release updates of this appliance. If you have suggestions or feel things are missing please drop me a note. Depending on the extent of the changes I may set-up a patch concept besides the planned full releases of the appliance.
Changelog
- 2013-03-14 Uploaded to hosting facility (thanks to @cri)
- 2013-01-01 Release 1.1: updated Mint and eclipse / ADT / SDK to current versions
Screenshots
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
FAQ
Q:How can I resize the image?
A:If you need more space the image can easily be resized:
- Extend the VDI image file:
VBoxManage modifyhd AndroidDev_VA.vdi --resize <size-in-MB>
Click to expand...
Click to collapse
- Download the gparted ISO live-CD, add it to the virtual image as CD, boot, delete the extended partion, expand the primary partition, re-add a secondary partition and a swap partition: done
Q:Where are the cross compiler settings
A:The cross compiler environment variables are set in ~/environment
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=/home/android/android-ndk-r8b/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86/bin/arm-linux-androideabi-
Click to expand...
Click to collapse
Q:How do I open the VDI filel
A:You need to have VirtualBox installed. Either double-click on the VDI file or follow these instructions to import the image
chamonix said:
I am planning to provide and maintain a virtual application (virtual box) for developing Android Apps and I'd like to get some input before starting.
I plan the appliance to be linux and I am looking for feedback on:
Distro: what yould be your favorite (lightweight) distro
Distribution: ideas on the best way to distribute it (torrent, virtual appliance directory, download)
Toolset: what would you like to see besides Eclipse, Java, Android SDK, git, svn, gimp
Click to expand...
Click to collapse
That would be pretty good, however, note that there are other tools such as App Inventor that provides a very intuitive interface for developing android apps without any programming.
kevinkashi said:
That would be pretty good, however, note that there are other tools such as App Inventor that provides a very intuitive interface for developing android apps without any programming.
Click to expand...
Click to collapse
That is not the segment that I am adressing. What I aim at is providing a complete, installed and configured enviroment for people wanting to develop for android and who do not have the time to set up the enviroment, install the USB drivers etc.
http://susestudio.com : quick to setup, free hosting. not to be confused with the Phil Collins song.
dabl8 said:
http://susestudio.com : quick to setup, free hosting. not to be confused with the Phil Collins song.
Click to expand...
Click to collapse
Interesting concept. I'm not sure if it suits my needs but I'll have a look at it for other projects
nice idea
Nice idea, would make life easy for many budding developers
I would suggest
Distro: Linux Mint
Distribution: Torrents / dev-host, you have 50 Gb now
Toolset: scripts to sign and zipalign APK's, some basic ANT scripts would do
suku_patel_22 said:
Nice idea, would make life easy for many budding developers
I would suggest
Distro: Linux Mint
Distribution: Torrents / dev-host, you have 50 Gb now
Toolset: scripts to sign and zipalign APK's, some basic ANT scripts would do
Click to expand...
Click to collapse
Mint 13 with mate installing.
Don't forget... ndk
Sent from my VS910 4G using xda premium
Since this is just discussion about developing an app it belongs in General, not the Development forum. Post in the Development forum when you have something to release.
Good luck with your project
Archer said:
Since this is just discussion about developing an app it belongs in General, not the Development forum. Post in the Development forum when you have something to release.
Good luck with your project
Click to expand...
Click to collapse
Sure. I will request it to be moved back once I release something
Is anyone interested in testing before I release? I have an image finished with all features from post #1.
Finally released!
Please feel free to request for additions if you feel that anything is missing.
Hi
This is a great initiative you've got here.
I've download all the files but the splitted files are in a Linux format (_aa _ab ...) and to get it working on Windows I had to rename them as .001 .002 as I haven't found any software capable of this.
And one quick question, why have you
reverted back to Maja
Click to expand...
Click to collapse
?
minidou-77 said:
Hi
This is a great initiative you've got here.
I've download all the files but the splitted files are in a Linux format (_aa _ab ...) and to get it working on Windows I had to rename them as .001 .002 as I haven't found any software capable of this.
And one quick question, why have you ?
Click to expand...
Click to collapse
Thanks for the feedback!
I reverted because the in-place upgrade failed so that was too much for 1.1. I will of course move to the most recent mint release for 2.0 but didn't put that as a priority as this virtual appliance is more about development capabilities than about having a sexy linux distro.
Hello,
I just started the Virtual Appliance, The internet connection is working as I'm able to browse the web but I'm unable to install new language.
I tried different network settings but issue remains ... anyone ?
Just tried to ping the repositery, and it's working
Code:
[email protected] ~ $ ping 91.189.92.201
PING 91.189.92.201 (91.189.92.201) 56(84) bytes of data.
64 bytes from 91.189.92.201: icmp_req=1 ttl=51 time=19.9 ms
Thank you
FredC94 said:
Hello,
I just started the Virtual Appliance, The internet connection is working as I'm able to browse the web but I'm unable to install new language.
I tried different network settings but issue remains ... anyone ?
Just tried to ping the repositery, and it's working
Code:
[email protected] ~ $ ping 91.189.92.201
PING 91.189.92.201 (91.189.92.201) 56(84) bytes of data.
64 bytes from 91.189.92.201: icmp_req=1 ttl=51 time=19.9 ms
Thank you
Click to expand...
Click to collapse
I'd be interested in seeing the "details"
Here it is
FredC94 said:
Here it is
Click to expand...
Click to collapse
It looks like french packages are not mirrored on all archives, or something is broken. You could try changing the archive location (from the update manager options).
chamonix said:
It looks like french packages are not mirrored on all archives, or something is broken. You could try changing the archive location (from the update manager options).
Click to expand...
Click to collapse
You mean through Software Sources ?
I tried two different French servers but it doesn't work either.
Anyway it's not really important cause I managed to change the keyboard layout (AZERTY).
thank you
---------- Post added at 12:26 AM ---------- Previous post was at 12:25 AM ----------
Well, I've found a new issue :silly:
Code:
[email protected] ~ $ adb devices
List of devices attached
0123456789ABCDEF [COLOR="Red"]offline[/COLOR]
In fact I had the same behaviour under VMware -> http://forum.xda-developers.com/showthread.php?p=40685933
---------- Post added at 01:06 AM ---------- Previous post was at 12:27 AM ----------
never mind, I just update the SDK, and it's working now
Hello,
trying to build CM10.1 (Jelly Bean) for my Galaxy SII, I got this error message
Code:
/bin/bash: prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/arm-linux-androideabi-gcc: cannot execute binary file
Made a quick search and found that the 32bit Virtual Machine is the culprit
https://groups.google.com/forum/?fromgroups=#!topic/android-building/bsKtattS3kM
could not find any version that matches com.android.support:appcompat-v7:+
How can i resolve this problem ?
Zeytin said:
could not find any version that matches com.android.support:appcompat-v7:+
How can i resolve this problem ?
Click to expand...
Click to collapse
Could you please post your whole build.gradle file?
What is the exact error message Android Studio shows you?
The project was written in the AndroidStudio (Windows). In the house, I opened a this project (Ubuntu).
Error when import project in Android studio:
Execution failed for task ':cards territoryrepareComAndroidSupportAppcompatV71900Library'.
> Could not expand ZIP '/home/dimoshka/android-studio/sdk/extras/android/m2repository/com/android/support/appcompat-v7/19.0.0/appcompat-v7-19.0.0.aar'.
Click to expand...
Click to collapse
build.gradle
Code:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.7.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
maven {
url "......bugsense.....gradle/"
}
}
android {
compileSdkVersion 17
buildToolsVersion '19.0.1'
defaultConfig {
minSdkVersion 11
targetSdkVersion 19
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:support-v4:+'
compile "com.bugsense.trace:bugsense:3.6"
}
What could be the problem? The right to a directory entry with SDK there.
[LIBRARY][GUIDE] DynamicShareActionProvider
Some time ago I had a conversation with @SimplicityApks about Google's ShareActionProvider. We found out that it's not flexible enough as it doesn't allow dynamic generation of the data which should be shared.
So here I release my open-source DynamicShareActionProvider library. Its code can be found on Github.
The differences:
Sharing is done dynamically now!
This means that your app specifies the type of the shared data first and generates the data when an app is chosen for sharing. No more need to define what to share when the Activity is created. The content can now be set dynamically.
There are two types of listeners so that you can also generate the data in an AsyncTask.
There is no app icon of the most often used app appearing next to the share icon.
Other icons often do not match the app theme.
The shown app list is not limited to three apps and a "See all" entry first.
Why should the user not see all apps for that action?
You can adjust/must set the icon manually.
Don't worry.
Screenshots:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
(The second screenshot is from the app FunctionCapture by @SimplicityApks)
Big thanks to:
@SimplicityApks for some ideas
This was featured on the XDA portal on December 20, 2013.
[GUIDE] Adding this to your app
As indicated in the first post, the implementation is a little bit different than with Google's ShareActionProvider.
I assume that you are using Google's ActionBarCompat library.
Add the ActionBarCompat and the DynamicShareActionProvider library to your project first.
Afterwards, there are two ways of sharing your data using the DynamicShareActionProvider:
You can pass the data to the library when an app is selected and it will do the sharing part.
Or the library gives you an Intent which you just need to add the data to. This allows using an AsyncTask for data generation.
Adding the provider to the menu file
The first steps are the same for both ways. Add this to your menu resource file:
Code:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:library="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/menu_item_share"
library:showAsAction="always"
android:title="Share"
android:icon="@drawable/abc_ic_menu_share_holo_dark"
library:actionProviderClass="de.nikwen.dynamicshareactionprovider.library.DynamicShareActionProvider" />
<!-- Your other entries here -->
</menu>
I saved the menu file as "res/menu/main.xml".
What's different from Google's Provider here, is that you need to set the icon for the menu entry. That shouldn't be a problem though because we can use the one from the ActionBarCompat library.
Then inflate the menu resource in the onCreateOptionsMenu() method of your Activity and get the provider from the menu:
Code:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
DynamicShareActionProvider provider = (DynamicShareActionProvider) MenuItemCompat.getActionProvider(menu.findItem(R.id.menu_item_share));
return true;
}
Set the data type
To be able to filter your installed apps for those that can handle the data which should be shared, the provider needs to know which type of data you want to share. Set it like this:
Code:
provider.setShareDataType("text/plain");
(Add this to your onCreateOptionsMenu() method.)
Two different types of listeners
Now you need to choose the way you want to do the sharing:
If the generation of the data which should be shared takes much time so that you want to use an AsyncTask or a Service for that, use the DynamicShareActionProvider.OnShareLaterListener.
Otherwise use the DynamicShareActionProvider.OnShareIntentUpdateListener.
Click to expand...
Click to collapse
Using the OnShareIntentUpdateListener - Let the library do the sharing for you
Set the listener using the setOnShareIntentUpdateListener() method:
Code:
provider.setOnShareIntentUpdateListener(new DynamicShareActionProvider.OnShareIntentUpdateListener() {
@Override
public Bundle onShareIntentExtrasUpdate() {
Bundle extras = new Bundle();
//Generate your data here and add it to the Bundle
return extras;
}
});
(Add this to your onCreateOptionsMenu() method as well.)
We override the onShareIntentExtrasUpdate() method here and pass a Bundle as the return value. The data you add to the bundle should have the same format that you would use, if you added it to the Intent directly using the Intent#putExtras(Bundle extras) method (that's what is used internally).
This is an example for passing the data from an EditText:
Code:
@Override
public Bundle onShareIntentExtrasUpdate() {
Bundle extras = new Bundle();
EditText shareEdit = (EditText) findViewById(R.id.share_edit);
extras.putString(android.content.Intent.EXTRA_TEXT, shareEdit.getText().toString());
return extras;
}
You're done.
Using the OnShareLaterListener - Do the sharing yourself
This time we override the onShareClick() method of the OnShareLaterListener:
Code:
provider.setOnShareLaterListener(new DynamicShareActionProvider.OnShareLaterListener() {
@Override
public void onShareClick(Intent shareIntent) {
MyShareAsyncTask task = new MyShareAsyncTask();
task.execute(shareIntent);
}
});
We get the share Intent as an argument and don't have to pass a return value. Instead, we have to do the sharing part manually.
The example code uses an AsyncTask for that:
Code:
private class MyShareAsyncTask extends AsyncTask<Intent, Void, Intent> {
@Override
protected void onPreExecute() {
Toast.makeText(MainActivity.this, R.string.asynctask, Toast.LENGTH_LONG).show();
}
@Override
protected Intent doInBackground(Intent... intents) {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
EditText shareEdit = (EditText) findViewById(R.id.share_edit);
intents[0].putExtra(android.content.Intent.EXTRA_TEXT, "Shared from an AsyncTask: " + shareEdit.getText().toString());
return intents[0];
}
@Override
protected void onPostExecute(Intent intent) {
startActivity(intent);
}
}
However, you're free to do it the way you like.
You're done.
Get the sample code
It's on Github: Link to the sample code
Other stuff
See (and maybe share) my Google Plus post on the library.
Let me know if you add this to your app. I will really appreciate it.
Well, it's time to say thank you again^^, without your lib sharing in my app wouldn't be nearly as useful... Thanks soo much! :good:
SimplicityApks said:
Well, it's time to say thank you again^^, without your lib sharing in my app wouldn't be nearly as useful... Thanks soo much! :good:
Click to expand...
Click to collapse
Thank you very much for the compliments.
And welcome.
It's among the top trending Java repos on Github today. Currently, it's at position #14.
Screenshot:
(I know that the screenshot still shows #16. Old one. )
EDIT: The best I saw was position #11.
Hey congrats for the portal post about ur lib
:good:
---------------------------------
Phone : Samsung Galaxy Mini S5570
OS:
•AOSP ICS Touchwiz V5 by A_U
•Android 4.0.4
•Baseband XWKS2
•Kernel: 2.6.37.6 Badass v1.9 by alin.p
•Recovery CWM v4.0.0.5
Mods:
PureAudio, Mounts2SD, ODEX through Universal ODEX script, AdBlock by AdAway
---------------------------------
Gesendet von Tapatalk
Very nice for us devs! Thanks, I will look where to implement this
Masrepus said:
Hey congrats for the portal post about ur lib
:good:
---------------------------------
Phone : Samsung Galaxy Mini S5570
OS:
•AOSP ICS Touchwiz V5 by A_U
•Android 4.0.4
•Baseband XWKS2
•Kernel: 2.6.37.6 Badass v1.9 by alin.p
•Recovery CWM v4.0.0.5
Mods:
PureAudio, Mounts2SD, ODEX through Universal ODEX script, AdBlock by AdAway
---------------------------------
Gesendet von Tapatalk
Click to expand...
Click to collapse
lesiki said:
Very nice for us devs! Thanks, I will look where to implement this
Click to expand...
Click to collapse
Big thanks to both of you.
Just pushed an update to the library which adds support for ActionBarSherlock and the native ActionBar. I haven't changed the readme-file yet as I'm currently looking for someone to test those versions in his app. Would be great if someone (maybe you?) did it.
If you're interested in the update, have a look at the issue on Github: Issue #2
@nikwen
Great work there !
Sent from my GT-S5302 using Tapatalk 2
sak-venom1997 said:
@nikwen
Great work there !
Sent from my GT-S5302 using Tapatalk 2
Click to expand...
Click to collapse
Thanks.
How can i prevent default action?
i want to override action for facebook.
This project is related to the porting of IWOP (Ingenic Wearable Open Platform) for OXY SmartWatches.
The platform IWOP is available here for download: http://iwop.ingenic.com/.
OXY is giving hardware development kit to each developer who is willing to contribute to the platform.
Attached to this thread there are architecture views, UX mocks and interaction design about the OXY custom ROM.
More details related to OXY are available here: http://www.oxytechs.com/
OXY ROM is composed by:
A watchface manager
Home launcher
Control manager app
Settings app
Apps navigator
A set of utilities apps delivered with the product
XDA:DevDB Information
OXY SmartWatch V 1.0, ROM for the Android General
Contributors
raffaeu
Source Code: http://iwop.ingenic.com/
ROM OS Version: 5.1.1 Lollipop
ROM Kernel: Linux 3.10.x
Based On: IWOP
Version Information
Status: Alpha
Stable Release Date: 2016-03-31
Beta Release Date: 2015-12-31
Created 2015-08-24
Last Updated 2015-08-24
Build the basic ROM
Unfortunately the information related to our ROM and SDK are still available only in Chinese, that's why with this project on XDA we are willing to make a translation of all the necessary resources needed to develop for OXY.
In this specific post I am going through the creation of a development environment using Ubuntu 12 LT which in my case is hosted on Windows Azure Asia Servers so that the download from GIT is faster and more reliable. At the end you will have the basic IWOP image built. IWOP is a the custom Android ROM built by Ingenic which runs on our Hardware.
If you are considering to join the Development Program in OXY or if you are considering to become a remunerated Developer for OXY, we will grant you an Ubuntu VM with the development environment ready to go and an OXY SmartWatch development kit, in order to be able to test your code on our hardware.
Click to expand...
Click to collapse
Resource location
The resources are available at the website of Ingenic, the official page which is visible from outside China and supported also by OXY also: http://iwop.ingenic.com/zh-cn/. We are actively working on translating the website in English-US so that in the future the IWOP SDK will be available in full English.
First step you need to download the REPO TOOL and the GIT structure. To make this job easier we have created a custom folder containing the entire repo which is available on Google Drive. We have also the full source code (~25GB) available for download in case you cannot download from our Chinese mirror.
In order to avoid unfriendly behaviors from competitors and in order to avoid to run out of bandwidth, the Google Drive is shared only with the active members of the OXY Development Program, just drop me a PVT if you are willing to join the project.
Once the REPO structure is downloaded and unzipped, you will end up with the following folder of almost 5GB in size:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Now you are ready to compile ELF. ELF is a custom version of Android built by Ingenic to work on their CPU architecture and on their hardware. The ROM is quite stable and it has already a rich set of API available through their SDK to work directly on OXY SmartWatches and in the future with OXY SmartPhones.
Now run a sync with the local repository:
Code:
$ .repo/repo/repo sync --local-only
Second step, in order to download the full-source you need an SSH account from us.
Again, in order to avoid problems of bandwidth at this stage of the project we will grant SSH files and accounts only to users that are joining the dev program
Then you can run a sync against the Ingenic GIT repository and download the entire source code:
Code:
$ .repo/repo/repo init -u ssh://[account]@oxytechs.com:29418/elf/manifests.git -b release-4.3 -m elf.xml
And synchronize
Code:
$ .repo/repo/repo sync --current-branch --no-tags
Beware that if your machine is not in ASIA the first synchronization is very slow, the full source is between 20~24GB
Configure the Development Machine
In these steps we are using Eclipse to build our ROM, feel free to switch to Android Studio and if you have achieved the migration to Android Studio, feel free also to update this guide
Click to expand...
Click to collapse
Install the SDK 1.6
The correct SDK for ELF is available at this address: http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
Then you have to register the SDK in your PATH using:
Code:
export JAVA_HOME=/work/soft/jdk1.6.0_33
export PATH=$PATH:$JAVA_HOME/bin
Finally you can verify that the SDK is correctly installed by typing:
Code:
$java -version
java version "1.6.0_33"
Java(TM) SE Runtime Environment (build 1.6.0_33-b04)
Java HotSpot(TM) 64-Bit Server VM (build 20.8-b03, mixed mode)
Download the ELF SDK available on our Google Drive
Then register the SDK on your environment:
Code:
export ANDROID_HOME=~/work/soft/android-sdk-linux
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools
export PATH=$PATH:$ANDROID_HOME/build-tools
Download the Linux NDK available on our Google Drive
Then register the NDK:
Code:
export NDK_HOME=~/work/soft/android-ndk-r10
export PATH=$PATH:$NDK_HOME
Prepare Ubuntu for Build Android
If you machine is new and you never built Android SDK before, you need to install also these packages in the correct order and Do not upgrade these packages
Code:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Build
Finally you can build ELF for OXY using the following commands:
SQUARE
Code:
./build/smk.sh --preset=aw808_v11_wisesquare_iwop
ROUND
Code:
./build/smk.sh --preset=aw808_v11_naturalround_iwop
You will end up with the following files which are the ELF ROM for OXY.
u-boot-with-spl-mbr-gpt.bin、 boot.img、 system.img、 recovery.img
Now you are ready to: customize the ROM, customize the Home launcher, create new apps for OXY
In the next post we will write the basics of how to create an Android App for OXY SmartWatch and how to upload the app on our Cloud using REST
If porting watches and creating the faces are well documented and intuitive you just found yourself a watchface designer.
kuronosan said:
If porting watches and creating the faces are well documented and intuitive you just found yourself a watchface designer.
Click to expand...
Click to collapse
Hi @kuronosan, yes very intuitive and almost identical to Android WEAR API, with a slightly little change in your code you can port a WEAR watchface into a OXY watchface with the big advantage that we support also Fragments and Activities. Probably within a week or two we will publish "how to make a watchface". We are actively working now on completing the documentation to setup your development environment. When this is done we will start with the tutorial series and with the conversion of the ELF Chinese documentation into English
Hmm. Now to save up capital.
I've since left public development, especially on xda, but am more than willing to do a little tuning/optimization and security audits for folks like I did on the Omate TrueSmart and InWatch Z. Like kuronosan, need to save up for a watch as I'd also do case design analysis and testing.
@Lokifish Marz you and some other guys here are giving to us a lot of positive and helpful feedbacks. For sure during the PRE-SALE campaign you will be delighted with one of our model of your choice for free, I am not even considering to charge somebody who is giving to us valuable knowledge and share experience for free, it's not my way of working
If there's anyone who knows watches, it's him.
I want to help... you have a PVT message.
@corvus Found it, I am writing you an e-mail now.
Happy to have you on board.
Guys I am here with some interesting updates.
We have finally released Android 5.1.1 and we are using Atlassian BitBucket as our Source repository.
The repository is available here: https://bitbucket.org/oxy-team/elf-os
In the next days we will provide a set of Tutorials for:
Get an Atlassian Developer Account
Setup your Build Environment
Download the Source Code
Build ELF OS ROM
Customize the Kernel of ELF OS
Also, we are talking with Amazon AWS to setup some CI servers so that when you check-in some changes our Cloud mechanism will build a new ROM for you, so that you don't need to wait until your dev machine is done with the build.
We are going to setup multiple branches, the official will be of course locked down but there will be a special branch for XDA and every time we find valuable commits we will merge them into the official ROM and mention the developer who made it possible.
For the most valuable contributors we are going to deliver a development kit:
IDEs:
Android Studio (Officially Recommended - Works on Windows, Linux and Mac)
Eclipse ADT Plugin (Deprecated - Works on Windows, Linux and Mac)
Requirements:
Java SDK 8 Installed.
Knowledge requirements to study the tutorials:
Java SE (Oracle Tutorial, tutorialspoint Tutorial)
Tutorials:
Official Android Development Page
Official Android Development Training
Build your first app (Official Android Development Training)
Official Android Development Guide
Android Studio Tips and Tricks
I want to study tutorials via Articles:
vogella Android Introduction
vogella General Android Development
mykong Android
tutorialspoint Android
I want to learn the OpenGL ES for Android:
learnopengles (Uses OpenGL ES 2.0)
Android Development OpenGL ES Guide
Android Development OpenGL ES Training
Activity - Fragment Lifecycles
Libraries (more useful Java Libraries):
AndroidPlot (Library for Plots, Graphs, Lines and Charts for Android) [Free, check the License, usually Apache]
kSOAP2 (SOAP Client Library for Android) [Free but check the License]
Retrofit (A type-safe REST client for Android and Java) [Free but check the License]
Google VR SDK (old name Android Cardboard SDK) ( Overview - What is Cardboard - How Cardboard Works - Cardboard Java API - Cardoard Unity3D Guide ) [Free but check the License]
iText (A PDF File Creator-Reader-Manager for Android) [Free for open-source use, but requires you to purchase a license for commercial use - see Pricing]
Material Design - Colors - Themes (References):
Official Google Color Pallete
Material Design Colors
Material Design for pre-Lollipop Devices
Color Picker
Material Design Icons:
Google Material Icons (free, check the license, usually Apache)
Material Design Icons (free, check the license, usually Apache)
Google Material Icon Guidelines
SDK Versions History:
Oreo 8.1.0 API level 27
Oreo 8.0.0 API level 26
Nougat 7.1 API level 25
Nougat 7.0 API level 24
Marshmallow 6.0 API level 23
Lollipop 5.1 API level 22
Lollipop 5.0 API level 21
KitKat 4.4 - 4.4.4 API level 19
Jelly Bean 4.3.x API level 18
Jelly Bean 4.2.x API level 17
Jelly Bean 4.1.x API level 16
Ice Cream Sandwich 4.0.3 - 4.0.4 API level 15, NDK 8
Ice Cream Sandwich 4.0.1 - 4.0.2 API level 14, NDK 7
Honeycomb 3.2.x API level 13
Honeycomb 3.1 API level 12, NDK 6
Honeycomb 3.0 API level 11
Gingerbread 2.3.3 - 2.3.7 API level 10
Gingerbread 2.3 - 2.3.2 API level 9, NDK 5
Froyo 2.2.x API level 8, NDK 4
Eclair 2.1 API level 7, NDK 3
Eclair 2.0.1 API level 6
Eclair 2.0 API level 5
Donut 1.6 API level 4, NDK 2
Cupcake 1.5 API level 3, NDK 1
(no code name) 1.1 API level 2
(no code name) 1.0 API level 1
Changes about Android Versions (for Developers)
Android Dashboards (here you can see the platform versions, screen sizes and the OpenGL versions of the devices that access the Google Play store)
Seminars - Webinars
Collection of Guides about Android Development (on the XDA forum)
Explanation of the most popular Licenses usually used in libraries (IT'S NOT A LEGAL ADVICE. IT'S JUST A GENERAL EXPLANATION. FOR 100% ACCURACY PLEASE CONSULT A LAWYER)
I will try to keep this post updated, as much as I can. If you find anything outdated or any errors, or you want to add anything to this post, or report a broken link, just let me know via Private Message
I will be adding any good tutorials I find from the web here.
NOTICE: Some of the tutorials above use the Eclipse IDE and not the Android Studio (the recommended one). This does not effect the general Android Development knowledge and techniques that you learn through these tutorials. Only the Android Project structure (small changes) and some other advanced mechanisms (such as Gradle that Android Studio uses) are different, and these differences do not affect the general Android Development principles!
[All the above links have been checked on 10th March 2018]
Seminars - Webinars
Seminars - Webinars
Google I/O:
2018
2017
2016
2015
Android Dev Summit
2015 Keynote
Android Developers
Channel on YouTube
Google Developers
Channel on YouTube
[All the above links have been checked on 12th May 2018]
Collection of Guides about Android Development (on the XDA forum)
Collection of Guides about Android Development (on the XDA forum)
General
Debugging Apps (by @nikwen)
Signing and zipaligning your app (by @nikwen)
Internet
Android Client-Server Communication (PHP-MYSQL REST API) (by @alobo)
[All the above links have been checked on 10th March 2018]
Thanks for the info
hopefully this will continue to be updated thanks!
A.Priori said:
hopefully this will continue to be updated thanks!
Click to expand...
Click to collapse
Of course, I will continue to update this post whenever I find time. I was busy these days, sorry for the delay. I will try to add more stuff soon.
Activity - Fragment Lifecycles
Activity Lifecycle
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Fragment Lifecycle
Effect of Activity Lifecycle on the Fragment Lifecycle
Sources: https://developer.android.com/guide/components/activities.html , https://developer.android.com/guide/components/fragments.html
[All the above links have been checked on 10th March 2018]
Thanks! This is what I was looking for!
Java Libraries (can also be used on Android)
JSON Libraries:
GSON (Google's JSON Library - License)
org.json (License)
Jackson
[All the above links have been checked on 10th March 2018]