>
= Android =
* Get Android Studio Bundle https://dl.google.com/dl/android/studio/install/1.2.2.0/android-studio-bundle-141.1980579-windows.exe
* Install with Next, Next .....
* UI Theme Darcula
Linux download https://dl.google.com/dl/android/studio/ide-zips/3.5.1.0/android-studio-ide-191.5900203-linux.tar.gz
{{{#!highlight sh
cp android-studio-ide-191.5900203-linux.tar.gz /opt/
cd /opt/
tar xvzf android-studio-ide-191.5900203-linux.tar.gz
chgrp users android-studio/ -R
/opt/android-studio/bin/studio.sh
###
Preparing "Install Android SDK Tools (revision: 26.1.1)".
Downloading https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
"Install Android SDK Tools (revision: 26.1.1)" ready.
Installing Android SDK Tools in /home/vitor/Android/Sdk/tools
"Install Android SDK Tools (revision: 26.1.1)" complete.
"Install Android SDK Tools (revision: 26.1.1)" finished.
Preparing "Install SDK Patch Applier v4 (revision: 1)".
Downloading https://dl.google.com/android/repository/3534162-studio.sdk-patcher.zip
"Install SDK Patch Applier v4 (revision: 1)" ready.
Installing SDK Patch Applier v4 in /home/vitor/Android/Sdk/patcher/v4
"Install SDK Patch Applier v4 (revision: 1)" complete.
"Install SDK Patch Applier v4 (revision: 1)" finished.
Preparing "Install Android Emulator (revision: 29.2.1)".
Downloading https://dl.google.com/android/repository/emulator-linux-5889189.zip
"Install Android Emulator (revision: 29.2.1)" ready.
Installing Android Emulator in /home/vitor/Android/Sdk/emulator
"Install Android Emulator (revision: 29.2.1)" complete.
"Install Android Emulator (revision: 29.2.1)" finished.
Preparing "Install Android SDK Platform-Tools (revision: 29.0.4)".
Downloading https://dl.google.com/android/repository/platform-tools_r29.0.4-linux.zip
"Install Android SDK Platform-Tools (revision: 29.0.4)" ready.
Installing Android SDK Platform-Tools in /home/vitor/Android/Sdk/platform-tools
"Install Android SDK Platform-Tools (revision: 29.0.4)" complete.
"Install Android SDK Platform-Tools (revision: 29.0.4)" finished.
Preparing "Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)".
Downloading https://dl.google.com/android/repository/build-tools_r29.0.2-linux.zip
"Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)" ready.
Installing Android SDK Build-Tools 29.0.2 in /home/vitor/Android/Sdk/build-tools/29.0.2
"Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)" complete.
"Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)" finished.
Preparing "Install Android SDK Platform 29 (revision: 3)".
Downloading https://dl.google.com/android/repository/platform-29_r03.zip
"Install Android SDK Platform 29 (revision: 3)" ready.
Installing Android SDK Platform 29 in /home/vitor/Android/Sdk/platforms/android-29
"Install Android SDK Platform 29 (revision: 3)" complete.
"Install Android SDK Platform 29 (revision: 3)" finished.
Preparing "Install Sources for Android 29 (revision: 1)".
Downloading https://dl.google.com/android/repository/sources-29_r01.zip
"Install Sources for Android 29 (revision: 1)" ready.
Installing Sources for Android 29 in /home/vitor/Android/Sdk/sources/android-29
"Install Sources for Android 29 (revision: 1)" complete.
"Install Sources for Android 29 (revision: 1)" finished.
Parsing /home/vitor/Android/Sdk/build-tools/29.0.2/package.xml
Parsing /home/vitor/Android/Sdk/emulator/package.xml
Parsing /home/vitor/Android/Sdk/patcher/v4/package.xml
Parsing /home/vitor/Android/Sdk/platform-tools/package.xml
Parsing /home/vitor/Android/Sdk/platforms/android-29/package.xml
Parsing /home/vitor/Android/Sdk/sources/android-29/package.xml
Parsing /home/vitor/Android/Sdk/tools/package.xml
Android SDK is up to date.
}}}
* https://developer.android.com/studio/releases/gradle-plugin
* https://services.gradle.org/distributions/
== Android SDK linux command line tools ==
{{{#!highlight sh
cd /opt
wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
tar xvzf android-sdk_r24.4.1-linux.tgz
cd android-sdk-linux/tools
./android list sdk
}}}
{{{
1- Android SDK Tools, revision 25.1.7
2- Android SDK Platform-tools, revision 24.0.2
3- Android SDK Build-tools, revision 24.0.2
13- SDK Platform Android 4.1.2, API 16, revision 5
}}}
{{{#!highlight sh
./android update sdk --no-ui --filter 1,2,3,13
cd ../tools
./android create project --target android-16 --name AndroidProj --path ~/tmp/androidProj/ --activity MyProject --package androidproj.test --gradle --gradle-version 1.1.0
# 1.1.0 is the gradle plugin version
cd ~/tmp/androidProj
}}}
=== Project structure ===
{{{
.
|-- build.gradle
|-- gradle
| `-- wrapper
| |-- gradle-wrapper.jar
| `-- gradle-wrapper.properties
|-- gradlew
|-- gradlew.bat
|-- local.properties
`-- src
|-- androidTest
| `-- java
| `-- androidproj
| `-- test
| `-- MyProjectTest.java
`-- main
|-- AndroidManifest.xml
|-- java
| `-- androidproj
| `-- test
| `-- MyProject.java
`-- res
|-- drawable-hdpi
| `-- ic_launcher.png
|-- drawable-ldpi
| `-- ic_launcher.png
|-- drawable-mdpi
| `-- ic_launcher.png
|-- drawable-xhdpi
| `-- ic_launcher.png
|-- layout
| `-- main.xml
`-- values
`-- strings.xml
}}}
{{{#!highlight sh
vi gradle/wrapper/gradle-wrapper.properties # change version from 1.12 to 2.2.1
vi build.gradle # comment with // lines with Proguard
./gradlew
./gradlew tasks
./gradlew clean build
find . -name "*.apk" # ./build/outputs/apk/androidProj-debug.apk
}}}
{{{
./build/outputs/apk/androidProj-debug.apk
./build/outputs/apk/androidProj-release-unsigned.apk
./build/outputs/apk/androidProj-debug-unaligned.apk
}}}
=== ./src/androidTest/java/androidproj/test/MyProjectTest.java ===
{{{#!highlight java
package androidproj.test;
import android.test.ActivityInstrumentationTestCase2;
/**
* This is a simple framework for a test of an Application. See
* {@link android.test.ApplicationTestCase ApplicationTestCase} for more information on
* how to write and extend Application tests.
*
* To run this test, you can type:
* adb shell am instrument -w \
* -e class androidproj.test.MyProjectTest \
* androidproj.test.tests/android.test.InstrumentationTestRunner
*/
public class MyProjectTest extends ActivityInstrumentationTestCase2 {
public MyProjectTest() {
super("androidproj.test", MyProject.class);
}
}
}}}
=== ./src/main/AndroidManifest.xml ===
{{{#!highlight xml
}}}
=== ./src/main/res/layout/main.xml ===
{{{#!highlight xml
}}}
=== ./src/main/res/values/strings.xml ===
{{{#!highlight xml
MyProject
}}}
=== ./src/main/java/androidproj/test/MyProject.java ===
{{{#!highlight java
package androidproj.test;
import android.app.Activity;
import android.os.Bundle;
public class MyProject extends Activity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
}}}
=== ./build.gradle ===
{{{
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.0'
}
}
apply plugin: 'android'
android {
compileSdkVersion 'android-16'
buildToolsVersion '24.0.2'
buildTypes {
release {
//runProguard false
// proguardFile getDefaultProguardFile('proguard-android.txt')
}
}
}
}}}
=== ./gradle/wrapper/gradle-wrapper.properties ===
{{{
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-2.2.1-all.zip
}}}
== Vodafone 785 Slackware ==
* mtp-detect #after connecting phone on usb
{{{
libmtp version: 1.1.11
Listing raw device(s)
Device 0 (VID=1bbb and PID=0168) is a Alcatel 6030a.
Found 1 device(s):
Alcatel: 6030a (1bbb:0168) @ bus 1, dev 7
Attempting to connect device(s)
Android device detected, assigning default bug flags
}}}
{{{#!highlight sh
cd /tmp
wget https://slackbuilds.org/slackbuilds/13.37/multimedia/mtpfs.tar.gz
tar xvzf mtpfs.tar.gz
cd mtpfs
wget http://www.adebenham.com/debian/mtpfs_0.9.orig.tar.gz
./mtpfs.SlackBuild
installpkg /tmp/mtpfs-0.9-i486-1_SBo.tgz
mtpfs -o allow_other /mnt/tmp/
}}}
{{{
mtp-folders
Attempting to connect device(s)
Device 0 (VID=1bbb and PID=0167) is a Alcatel/TCT 6010D/TCL S950.
mtp-folders: Successfully connected
mtp-files > /tmp/files.txt
mtp-folders > /tmp/folders.txt
}}}
* Use Dolphin and mtp:/Vodafone 785/Armazenamento do telefone/DCIM/Camera/
== Android SDK - command line tools ==
{{{#!highlight sh
cd ~
wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u222b10.tar.gz
tar xvzf OpenJDK8U-jdk_x64_linux_hotspot_8u222b10.tar.gz
jdk8u222-b10/bin/java -version
cd ~
mkdir android
cd android/
wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
unzip commandlinetools-linux-6858069_latest.zip
cd cmdline-tools/
mkdir latest
mv bin/ lib/ NOTICE.txt source.properties latest/
cd ..
cmdline-tools/latest/bin/sdkmanager --update
cmdline-tools/latest/bin/sdkmanager --version
# install build tools 19.1.0
cmdline-tools/latest/bin/sdkmanager --install "build-tools;19.1.0"
export ANDROID_HOME=/home/vitor/android/
export ANDROID_SDK_ROOT=/home/vitor/android/
export PATH=/usr/local/bin:/usr/bin:/bin:/home/vitor/jdk8u222-b10/bin
# requires jdk8
export JAVA_HOME=/home/vitor/jdk8u222-b10/
cmdline-tools/latest/bin/sdkmanager --list
Installed packages:=====================] 100% Computing updates...
Path | Version | Description | Location
------- | ------- | ------- | -------
build-tools;19.1.0 | 19.1.0 | Android SDK Build-Tools 19.1 | build-tools/19.1.0/
build-tools;28.0.3 | 28.0.3 | Android SDK Build-Tools 28.0.3 | build-tools/28.0.3/
emulator | 30.1.5 | Android Emulator | emulator/
patcher;v4 | 1 | SDK Patch Applier v4 | patcher/v4/
platform-tools | 30.0.5 | Android SDK Platform-Tools | platform-tools/
platforms;android-28 | 6 | Android SDK Platform 28 | platforms/android-28/
}}}
== Docker environment ==
{{{#!highlight sh
mkdir target
nano Dockerfile
}}}
{{{
FROM ubuntu:20.04
RUN apt update
RUN apt-get install -y curl sudo wget
RUN curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
RUN apt install -y nodejs unzip gradle curl sudo
RUN mkdir /app
#RUN mkdir -p /root/Downloads
#RUN cd ~/Downloads
RUN wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u222-b10/OpenJDK8U-jdk_x64_linux_hotspot_8u222b10.tar.gz
RUN wget https://dl.google.com/android/repository/commandlinetools-linux-6858069_latest.zip
RUN tar xvzf OpenJDK8U-jdk_x64_linux_hotspot_8u222b10.tar.gz
RUN mv jdk8u222-b10/ ~
RUN mkdir ~/android
RUN unzip commandlinetools-linux-6858069_latest.zip
RUN mv cmdline-tools/ ~/android/
RUN cd ~/android/cmdline-tools/ && mkdir latest && mv bin/ lib/ NOTICE.txt source.properties latest/
RUN echo "export ANDROID_HOME=/root/android/" >> ~/.bashrc
RUN echo "export ANDROID_SDK_ROOT=/root/android/" >> ~/.bashrc
RUN echo "export PATH=/usr/local/bin:/usr/bin:/bin:/root/jdk8u222-b10/bin" >> ~/.bashrc
RUN echo "export JAVA_HOME=/root/jdk8u222-b10/" >> ~/.bashrc
RUN cat ~/.bashrc
RUN /root/android/cmdline-tools/latest/bin/sdkmanager --update
RUN /root/android/cmdline-tools/latest/bin/sdkmanager --version
RUN yes | /root/android/cmdline-tools/latest/bin/sdkmanager --install "build-tools;19.1.0"
RUN /root/android/cmdline-tools/latest/bin/sdkmanager --list # should show installed packages
RUN echo "#!/bin/sh\n tail -f /etc/passwd" > /start.sh
CMD ["sh","/start.sh"]
}}}
{{{#!highlight sh
docker build -t env-docker-image .
docker run -p 8081:8081 -d -it --rm --name env-docker-container --mount type=bind,source="$(pwd)"/target,target=/app env-docker-image
docker ps
docker exec -it 27868e5016fd bash
}}}