Android: Difference between revisions
Line 208: | Line 208: | ||
## Select 9. Decompile apk | ## Select 9. Decompile apk | ||
## Decompiled apk is now in APK-Multi-Tool\projects (as smali files) | ## Decompiled apk is now in APK-Multi-Tool\projects (as smali files) | ||
# Run C:\path\d2j-dex2jar <app>.apk | # Run C:\<path to dex2jar>\d2j-dex2jar <app>.apk | ||
## <app> is now in <app>_dex2jar.jar | ## <app> is now in <app>_dex2jar.jar | ||
# Run C:\path\ | # Run C:\<path to jd-gui<\jd-gui.exe | ||
## Select File-Save All Sources to save sourcecode | |||
====Apk Manager Plus==== | ====Apk Manager Plus==== |
Revision as of 14:27, 12 March 2014
<google>ENGELSK</google>
Troubleshooting
USB Driver problems
If the USB driver fails to load when the phone is in bootloader mode, install PdaNet for Android, and it's USB driver.
You can uninstall PdaNet after the USB drivers are installed, and the USB drivers will still work.
The usb drivers is installed in C:\Program Files\PdaNet for Android\usbwin or C:\Program Files (x86)\PdaNet for Android\usbwin.
To verify that the driver is working, set your phone in bootloader mode, and use the fastboot devices command, it should show the list of attached devices if the driver is working.
When phone won't see OTA update or when manual update fails
Do the following
- Manage apps - ALL - Google Services Framework
- Press Force stop
- Clear Data
- Reboot phone
- System settings - About phone - System updates
- Press Check now
- The phone should now show update to x.x.x is available
How to boot into recovery mode
- Power off your phone
- While the phone is off, press and hold Volume Up + Volume Down + Power
- Use the volume button to scroll through the menu options and press power to select "Recovery Mode"
- Once the Recovery Mode screen has come up (green android with red warning sign), press Power + Volume Up to bring up the menu
Microsoft Exchange troubleshooting
- Dial *#*#36245#*#* (36245 spells "EMAIL")
- Select "Enable extra debug logging" and "Enable exchange sd card logging"
This will start a log in the /sdcard/ root folder and the log will tell you if your phone is connecting with your exchange host.
Nexus S - Firmware download
FAQ
- Android - Wikipedia
- Android FAQ
- Android Partitions Explained: boot, system, recovery, data, cache & misc
- Rooting for beginners
- How to Change the Default Application for Android Tasks
Rooting
If you have Gingerbread 2.3.1 you can use this method first without loosing data:
Then you can install Titanium Backup, and back up your system.
After backing everything up, unlock the phone, this will wipe all applications, data and the SD card.
Upgrade to 2.3.3 (this will unroot the phone again).
Use one of the two methods (the last is the easy one):
- How to Root Android 2.3.3 Gingerbread on Nexus S? Complete Step-by-Step Guide
- Use Superboot to Root Android 2.3.3 Gingerbread on Nexus S - 2.3.3
Regain root access after upgrading Nexus S from 2.3.4 to 2.3.6
- 24 Sep 11 Root Access for Nexus One on Android 2.3.6 (GRK39F) / Superboot - Don't do it, it doesn't work
Android manual updating
Complete Factory Images
How to find the locations of the update files
You enable USB debugging on your phone (Settings | Applications), then download aLogCat from the market. When you get the OTA, check aLogCat and filter on ".cli" (without the quotes) and you'll find the link there.
List of different Nexus S models
Model number | Notable differences |
---|---|
GT-I9020 or GT-I9020T | 900 / 1700 / 2100 MHz UMTS, Super AMOLED |
GT-I9020A | 850 / 1900 / 2100 MHz UMTS, Super AMOLED |
GT-I9023 | 900 / 1700 / 2100 MHz UMTS, Super Clear LCD |
SPH-D720 | CDMA2000, 4G WiMAX, Super AMOLED |
SHW-M200 | 900 / 1700 / 2100 MHz UMTS, Super AMOLED |
Read more here: Nexus S - Wikipedia and here: Nexus S Variants - XDA
Known locations for Nexus S GT-I9020T updates
- Guide - Manually Update Google Nexus One & Nexus S to Android 2.3.3 Gingerbread
- Android update from 2.3.2 to 2.3.3 (GRH78C to GRI40)
- Android update from 2.3.1 to 2.3.3 (GRH78 to GRI40)
- Update from 2.3.3 to 2.3.4 (GRI40 or GRI54 to GRJ22)
- Full GRJ22 ROM update
- Update From IMM76D to JRO03E (Jelly Bean)
Other Nexus S Variants OTA Update links
fastboot boot recovery-clockwork-3.0.0.5-passion.img
Google Nexus S
- TechCrunch Review: Google Nexus S
- Nexus S - The new Android phone from Google
- Android 2.3 User's Guide
- Nexus S on PDAdb.net
Will the GPS chip be Broadcom BCM4751 as in Samsungs Galaxy S?
Using Nexus S from US in DK
What's inside
Samsung Galaxy 2
Update SDK
- cd to your 'android-sdk-windows' folder
- From the command-line you can also directly trigger an update by executing: ' tools\android.bat update sdk'
- Start eclipse
- Select 'Help - Check for updates'
Add Android device for developing
You have to select browse when adding driver and point to your 'android-sdk-windows'
Emulator commands
Start emulator
- emulator -avd <MyDevice>
Show emulators running
- adb devices
Install program (-s <devicename> not nessesary if only one is running)
- adb -s <devicename> install <program.apk>
Gui design
Sound
Activities
Boot order
Android web sites
- Android developers
- Androidforum.dk
- Google APIs add-on & Android Cloud to Device Messaging
- getandroidstuff.com - Download Android Applications, Games, Themes. Android News and Reviews.
- anddev.org Android Development Community - Android Tutorials
Android source
- source.android.com - Here you can find the information and source code you need to build an Android-compatible device
- Initializing a Build Environment
- Building Android kernel images
- Code Style Guidelines for Contributors
- Browse Android sourcecode here
Howto: Extract APK into readable Java source code and XML files
Setup
- Install Apk Manager Plus on your Android device.
- Download APK-Multi-Tool and extract the files into a folder on your harddisk. There must be no spaces in the directory path.
- Install 'Java SE Development Kit 7'.
- Edit the environtment variable 'JAVA_HOME' to point to 'C:\Program Files\Java\jdk1.7.0_51' or wherever you installed the Java Development Kit.
- Run Setup.bat
- Select step 2. 'Installing Framework-Res'.
- Connect your phone to the PC via USB.
- 9. Pull Dependencies from Phone
- 10. Return to Main Menu
- Select step 3. 'Setup Directories'.
- Select step 2. 'Installing Framework-Res'.
- Download dex2jar and extract it to wherever you want it installed.
- Download JD-GUI and extract it to wherever you want it installed.
Note: If step 2. 'Installing Framework-Res' fails it mighe be caused by a bug in APK-Multi-Tool\other\apkinstall.bat. To fix it replace:
- (Y) with [Y]
- (N) with (N)
- (y) with [y]
- (y) with (y)
- and (%INPUT%) with [%INPUT%]
Decompile .APK file
- Start 'Apk Manager Plus' on your Android device and export an App to the SD card
- Copy the <app>.apk to APK-Multi-Tool\place-apk-here-for-modding
- Run Script.bat
- Select 9. Decompile apk
- Decompiled apk is now in APK-Multi-Tool\projects (as smali files)
- Run C:\<path to dex2jar>\d2j-dex2jar <app>.apk
- <app> is now in <app>_dex2jar.jar
- Run C:\<path to jd-gui<\jd-gui.exe
- Select File-Save All Sources to save sourcecode
Apk Manager Plus
Apk Manager Plus can backup .apk files from apps installed on your phone or tablet to the SD card.
Afterwards you can use the USB cable to transfer them to a PC.
APK-Multi-Tool
- APK-Multi-Tool contains
- android-apktool
- A tool for reengineering 3rd party, closed, binary Android apps. It can decode resources to nearly original form and rebuild them after making some modifications.
- smali / backsmali
- assembler/disassembler for Android's dex format
- and a lot of other tools, and has build a menu system around all the tools.
To download APK-Multi-Tool Tool (includes android-apktool):
or clone Git repository from here:
dex2jar
Use dex2jar to translate .dex to .jar file then use JD-GUI to open the .jar file and view the .class files in the project.
usage: C:\path\d2j-dex2jar [options] <file0> [file1 ... fileN]
JD-GUI
JD-GUI is a standalone graphical utility that displays Java source codes of “.class” files. You can browse the reconstructed source code with the JD-GUI for instant access to methods and fields.
Other interesting links
Obfuscating
Outlook and Exchange sync
Exchange Server
- Microsoft Exchange Information Services and Security Policies Supported by Android 2.2 and 2.3
- Set up an Exchange account on your Android phone
Outlook.com
NB: Outlook.com's mail server is snt-m.hotmail.com Read more about Outlook.com and troubleshooting here.
Apps for android
Set Locale
Custom Locale allows you to modify the Locale of your Android device to anything you like.
Notifications
Display custom notification icons/dots on the screen. It was developed for the Samsung Galaxy S which lacks a physical dedicated LED.
- NoLED
- APP NoLED - Use the AMOLED screen for incoming notifications - here you can find the beta versions
- Forum
Smart car navigation software for mobile phones. Taking a stroll with pedestrian navigation.
Voice
Mono on Android
Bluetooth
- Bluetooth - Wikipedia
- Bluetooth profile - Wikipedia
- Android Bluetooth Introduction
- Android Bluetooth API
Notes:
Nokia CK-7W will ecco on callees side if phones bluetooth Class of Device (COD) is set to Smartphone. On Windows CE it is set in HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Sys\COD
0x5A020C = smart phone 0x52020C = normal cell phone
- I tried altering the CoD parameters in the /system/etc/bluetooth/main.conf file, but it seems that this file isn't even being used (or at least the CoD isn't) and is simply a default.
- I tried installing hciconfig and changing the CoD that way, but hciconfig is unable to find any bluetooth devices.
...at least not on Samsung
Bluetooth redirect discussions
- How to redirect audio to bluetooth headset?
- Routing audio to Bluetooth Headset (non-A2DP) on Android
- Navigation prompts via Bluetooth headset
- BTmono
- Audio and Video including sample recorder
- Android audio recording, part 2
Debugging
Reverse engineering
Exchange ActiveSync and other sync
Java implementation of the Exchange Web Services (EWS) API. This API gives developers programmatic access to Exchange Server 2007 SP1 and above.
- EWS Java API 1.1 - Microsoft
- Embedded Java - Wikipedia
- Including additional javax.* packages in your Android App
DirectPush
Axis2
ksoap2
/EWS/Services.wsdl
NTLM and java
¨
- Exchange Server 2010 SP1 Web Services SDK
- Introduction to Exchange Web Services in Exchange 2007
- Creating an Exchange Web Services Client Application
- The Exchange Team Block
Text To Speech TTS
- Using Text-to-Speech
- Steps to create a Sample TextToSpeech
- http://blog.7touchgroup.com/tag/texttospeech-setlanguage/
The SpeechSynthesis class provides a high-level api to create and play synthesized speech. This class is used internally to talk to a native TTS library that implements the interface defined in frameworks/base/include/tts/TtsEngine.h
eSpeak is a compact open source software speech synthesizer for English and other languages, for Linux and Windows.
Google I/O
2011
2010
Eclipse
Eclipse
- Eclipse and Java for Total Beginners
- Subclipse - an Eclipse Team Provider plug-in providing support for Subversion
Eclipse and UML
Green UML
Fantastic simple UML tool, thet can create UML diagrams from code!
Manual installation of plugins (dropins folder)
If you’re using Plugins where no Software Site is available, then you can use the Dropins folder in your Eclipse installation directory.
To do this put the plugin into Eclipse "dropins" folder and restart Eclipse. Eclipse should detect the new plugin and install it for you.
To create UML diagram from code right click in Package Explorer in Eclipse and select Green UML in the context menu.
Eclipse UML2 Tools
UML2 Tools SDK* UML with Eclipse Tutorial
Galileo - http://download.eclipse.org/releases/galileo
Install the following plugin: UML2 Tools SDK
Android C native development
Mercurial SCM - Source Control Management
- Mercurila - Wikipedia
- Hg Init: a Mercurial tutorial
- Turnkey - Revision Control Appliance - All-in-one code repository
mercurial.selenic.com
The convert extension converts repositories from other SCMs (or even Mercurial itself) into Mercurial repositories.
Eclipse and Mercurial
- MercurialEclipse (was: HgEclipse)
- MercurialEclipse - JavaForge
- DVCS part 2: initialize and import from local Repositories (EGit – HgEclipse)
Visual Studio and Mercurial
Other stuff
External GPS
Other android sites
Accessories
Bags
Bluetooth Car Kits
Don't use Nokia CK-7W, if it is used with a smartphone the callee will hear echo.
Car Holders
- Samsung Nexus S / Google Nexus S Brodit Holder - 513227
- Herbert Richter Adapter plate Self-adhesive to 4-Holes - 1471
- Google Nexus S Herbert Richter mount and Brodit holder combo
Desktop Dock
Reviews
Android Phone Reviews
- iPhone 4 Vs Samsung Galaxy S (GT-i9000) – PART 1
- iPhone 4 Vs Samsung Galaxy S (GT-i9000) – PART 2
- Samsung's Galaxy S scores in benchmarks - CNET
Samsung GPS problems
- Samsung S GPS problems
- Samsung GPS FIX?
- Quick fix for GPS issues on your new Samsung Galaxy S series phone
- Galaxy X Samsung Galaxy S Froyo Update Begins Rollout
Android applications
<google>ENGELSK</google>