понедельник, 6 июля 2015 г.

Library as aar file

CREATING AAR
in build.gradle of the library:

apply plugin: 'com.android.library'

aar can be found in build/outputs/aar/ 

USE
in build.gradle of the project:
repositories {
    flatDir {
        dirs 'libs'
    }
}

dependencies {
    compile(name:'cards', ext:'aar')
}

Do-not-forget proguard settings

http://proguard.sourceforge.net/manual/examples.html#stacktrace:
-renamesourcefileattribute SourceFile
-keepattributes SourceFile,LineNumberTable

пятница, 22 мая 2015 г.

Android app stress testing. Monkey.

http://developer.android.com/tools/help/monkey.html
You'll need an emulator or an ADB-connected device.
It's a command line utility. To start it:

$ /Users/Username/Library/Android/sdk/platform-tools/adb shell

Start pushing events (an example for 500 events):
monkey -p your.package.name -v 500

Enjoy your phone's life:)

Android SDK location on OS X

Default path is /Users/username/Library/Android/sdk

You can change it via File -> Project structure -> SDK Location in Android Studio

понедельник, 15 сентября 2014 г.

Library projects cannot include raw assets


The tools do not support the use of raw asset files (saved in the assets/ directory) in a library project. Any asset resources used by an application must be stored in the assets/ directory of the application project itself. However, resource files saved in the res/ directory are supported.


И никаких шрифтов в assets библиотек больше!

четверг, 21 августа 2014 г.

XML shapes in Android L

This would work in pre-L android:


    android:shape="rectangle" >

            android:angle="270"
        android:color="@color/orange" />

            android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />




But in Android L you would see... nothing. To fix it you should always use selectors. You'd get the result this way:




   
           

           
       

вторник, 29 июля 2014 г.

Decoding AndroidManifest of an apk archive

1. Get apktool + helper script for your OS https://code.google.com/p/android-apktool/downloads/list
2. Put them + apk file together to the directory
3. Print
apktool d MyApp.apk ./MyApp


Thanks http://stackoverflow.com/questions/4191762/how-to-view-androidmanifest-xml-from-apk-file


среда, 11 сентября 2013 г.

вторник, 16 октября 2012 г.

Вызов диалога вне UI-треда


на самом деле, внутри, конечно:)


Thread startMap = new Thread(new Runnable() {
         @Override
          public void run() {
                        GameAuthActivity.this.runOnUiThread(new Runnable() {

@Override
public void run() {
showDialog(START_ARMY_DIALOG);

}
  });
                  }
        }
    };

среда, 6 июня 2012 г.

Хозяйке на заметку: при использовании 9patches класть их в background, но НЕ в src (иначе будут тянуться как обычные картинки)

четверг, 19 апреля 2012 г.

понедельник, 9 апреля 2012 г.

"Widget Preview" для планшетов

Проект приложения живёт в android-sdk\samples\android-11\WidgetPreview - скомпилировать, залить на планшет. Скриншоты кладёт в sdcard/Download/


adb pull sdcard/Download/[app_name]_ori_[orientation].png [remote_location]

пятница, 30 марта 2012 г.

Could not load widget

и подобные проблемы на виджетах были, если забыть указать протокол в xmlns:android="http://schemas.android.com/apk/res/android"

пятница, 23 марта 2012 г.

dull...

E/AndroidRuntime(6467): FATAL EXCEPTION: main
E/AndroidRuntime(6467): java.lang.NullPointerException
E/AndroidRuntime(6467): at android.text.BoringLayout.isBoring(BoringLayout.java:228)

LinearLayout inside the ScrollView

...
< ScrollView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1.0"

>
< LinearLayout
android:id="@+id/toucheble_layout"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_below="@+id/calendar_footer"
android:orientation="vertical"
android:layout_weight="1.0"
>
...




LinearLayout не заполняет весь scrollView по высоте. Решение - добавить android:fillViewport="true" в ScrollView
___
И - да, GridView (как и ListView) не следует помещать в ScrollView, он сам по себе умеет прокручиваться.

среда, 14 марта 2012 г.

Failed to install *.apk on device ***: timeout

Лечение: увеличить таймаут подключения для ADB. В eclispe: Window -> Preferences -> Android -> DDMS -> ADB Connection timeout (ms)

Проблема часто встречается при работе с Galaxy Tab

среда, 9 ноября 2011 г.

Live Wallpapers & Phone restart

Обнаружила, что живые обои, живущие на sd-карте, будучи установленными в качестве текущих, при перезапуске аппарата "слетают", и автоматически выставляются дефолтные. Если же обои живут в памяти телефона, такого не происходит, т.к. её не нужно долго и упорно маунтить, как карточку.

Отсюда дилемма - если обои мнего весят, нехорошо их насильно помещать в память девайса. Но и их пропажа после перезагрузки, мягко говоря, неприятна.

Как вариант, прописывать installLocation="auto" и в описании приложения указывать на неприятную деталь пользователю, чтобы он уже сам переместил приложение в соответствии со своими надобностями.

Справочное: хоткеи эмулятора

отсюда: http://developer.android.com/guide/developing/tools/emulator.html


Home - HOME
Menu - F2 or Page-up button
Back - ESC
Call/dial button - F3
Hangup/end call button - F4
Search - F5
Power button - F7
Audio volume up button - KEYPAD_PLUS, Ctrl-5
Audio volume down button - KEYPAD_MINUS, Ctrl-F6
Camera button - Ctrl-KEYPAD_5, Ctrl-F3
Switch to previous layout orientation (for example, portrait, landscape) - KEYPAD_7, Ctrl-F11
Switch to next layout orientation (for example, portrait, landscape) - KEYPAD_9, Ctrl-F12

Toggle cell networking on/off - F8
Toggle code profiling - F9 (only with -trace startup option)
Toggle fullscreen mode - Alt-Enter
Toggle trackball mode - F6
Enter trackball mode temporarily (while key is pressed) - Delete
DPad left/up/right/down - KEYPAD_4/8/6/2
DPad center click - KEYPAD_5
Onion alpha increase/decrease - KEYPAD_MULTIPLY(*) / KEYPAD_DIVIDE(/)

среда, 26 октября 2011 г.

Green Door Live Wallpaper


Hurray! Green Door Live Wallpaper in Android Market!

https://market.android.com/details?id=com.oyra.greendoor&feature=search_result&rdid=com.oyra.greendoor&rdot=1&pli=1

There were problems with app appearence in Market Search, but now everything is OK. Thanks to the Android Market Team.

Enjoy!

пятница, 23 сентября 2011 г.

Парсинг xml. хозяйке на заметку

Если при парсинге xml средствами Android получаем XmlPullParserException "PI must not start with xml", причиной может послужить вот что