powered by simpleCommunicator - 2.0.40     © 2025 Programmizd 02
Форумы / Android [игнор отключен] [закрыт для гостей] / Android Studio - новости, вопросы, проблемы и решения
25 сообщений из 302, страница 10 из 13
Android Studio - новости, вопросы, проблемы и решения
    #38921041
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли сделать чтоб студия не ругалась на конфигурационные файлы gradle, а то одна треть текста студия подчеркивает с варнингами "cannot resolve...", "cannot infer" и т.д.?
Студия предпоследней версии, gradle 1.0.1
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38921065
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола Питерский,

переделать не вариант?

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    buildTypes {
        debug {
            minifyEnabled false
            debuggable true
        }
        release {
            minifyEnabled true
            debuggable false
            signingConfig signingConfigs.release
            proguardFiles 'proguard-rules.txt'
            applicationVariants.all { variant ->
                variant.outputs.each  { output ->
                    output.outputFile = new File(output.outputFile.parent, defaultConfig.applicationId + "-" + defaultConfig.versionName + "-" + variant.buildType.name + ".apk")
                }
            }
        }
    }

...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38921081
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переделал - попрежнему ругается:
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38921101
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня оказывается это тоже подчеркнуто, просто на белом фоне незаметно.

В общем, эти предупреждения можно смело игнорировать. Или отключить http://stackoverflow.com/questions/24917820/android-studio-lint-reports-cannot-infer-argument-types
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922101
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanМикола Питерскийтогда код сохранения результатов будет присутствовать в ДЕМО версии
Proguard выкинет этот код как не используемый, т.к. BuildConfig.FLAVOR - константа.

Добрался я наконец до вариантов сборок -получилось 3: full, demo, local. Пытаюсь сейчас сделать "вырезаемый" код - т.е. код, который будет присутствовать только в указанной сборке.
В каталоге SRC\main\java в Main.java пишу:

Код: java
1.
2.
3.
       if (BuildConfig.FLAVOR.toString().equals("local")){
            Log.d("NP", "Local 111111" );
        }



Компилирую сборку full для вариантов debug и release, т.е. во втором Proguard отработал, декомпилирую и вижу:
в debug:

Код: java
1.
2.
3.
     if ("full".toString().equals("local")) {
        Log.d("NP", "Local 111111");
      }



в release:

Код: java
1.
2.
3.
   if ("full".toString().equals("local")) {
        Log.d("NP", "Local 111111");
      }




т.е. proguard в release версии я вижу что он отработал - только вот никак не вырезал данный код. Может я не так сравнение сделал?
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922143
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийМожет я не так сравнение сделал?
В конфиге прогуарда прописываются исключения.
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922151
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все конфиги прогуарда у меня по дефолту - или наоборот туда надо прописать что-то чтоб он это вырезал?
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922171
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот это гуард успешно вырезал:

Код: java
1.
2.
3.
     if (1!=1){
            Log.d("NP", "1==1" );
        }



А как это можно переписать что его тоже съел гуард?:
Код: java
1.
2.
3.
      if (BuildConfig.FLAVOR.equals("local")){
            Log.d("NP", "Local 111111" );
        }
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922217
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот и у меня закрались сомнения, что он знает про строки и equals...
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922233
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, кое что получилось, не смотря на варнинги...

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
package ru.wadman.myapplication;

import android.util.Log;

/**
 * Created by wadman on 31.03.2015.
 */
public class Test {

    private final static String build = "debug";
    private final static String LOG_TAG = "MainActivity";

    static void test() {
        if (BuildConfig.BUILD_TYPE == build) {
            Log.d(LOG_TAG, "!!! DEBUG3 !!!");
        }
    }
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
package ru.wadman.myapplication;

import android.app.Activity;
import android.os.Bundle;

import static ru.wadman.myapplication.Test.test;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        test();
    }

}



Результат:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
package ru.wadman.myapplication;

import android.app.Activity;
import android.os.Bundle;

public class MainActivity
  extends Activity
{
  protected void onCreate(Bundle paramBundle)
  {
    super.onCreate(paramBundle);
    setContentView(2130903040);
  }
}

...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922236
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Плохо - придется использовать стандартный механизм и разносить класс между каталогами вариантов сборки.
И заметил что Shift+F6 не работает если я пытаюсь изменять имя метода в этом классе - если я в src\main\Main.java переименовываю Reg.test(); в Reg.test10() - то он меняет только здесь и в одном из вариантов сборки, который выбран по дефолту, а во всех остальных не трогает.
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922251
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman
Код: java
1.
2.
3.
4.
5.
    private final static String build = "debug";

        if (BuildConfig.BUILD_TYPE == build) {
            Log.d(LOG_TAG, "!!! DEBUG3 !!!");
        }





В жаве нельзя сравнивать строки так "==", т.к. строки это объекты и так ты сравниваешь адреса двух объектов, которые конечно всегда разные - вот гуард их и вырезает.
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922272
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийВ жаве нельзя сравнивать строки так "==", т.к. строки это объекты и так ты сравниваешь адреса двух объектов, которые конечно всегда разные - вот гуард их и вырезает.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
public class Test {

    private final static String build = "release";
    private final static String LOG_TAG = "MainActivity";

    static void test() {
        if (BuildConfig.BUILD_TYPE == build) {
            Log.d(LOG_TAG, "!!! DEBUG3 !!!");
        }
    }
}



Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
package ru.wadman.myapplication;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity
  extends Activity
{
  protected void onCreate(Bundle paramBundle)
  {
    super.onCreate(paramBundle);
    setContentView(2130903040);
    Log.d("MainActivity", "!!! DEBUG3 !!!");
  }
}

...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922293
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman, наверно proguard об этом не знает :) Но студия по идее должна ругаться.
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922299
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Студия тут не при чем, это прежде всего касается ява-машины, которая вполне с константами строк может работать как с последовательностью байт, а не с адресами. А прогуард не работает с методами объектов, но с условными операторами справляется. Видимо его разработчикам больше известно о внутренностях ява-машины, чем разработчикам идеи.
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922470
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я уже совсем запутался - то что ты сказал действительно верно - можно сравнивать по == не только константы строк, но и сами строки, вот код на жаве:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
package com.company;

public class Main {

    public final static String test1 = "full";
    public final static String test2 = "full";

    public static  String test3 = "full";
    public static String test4 = "full";

    public static void main(String[] args) {

        if (test1==test2)
            System.out.println("Равны");
        else
            System.out.println("Не равны");

        if (test3==test4)
            System.out.println("Равны");
        else
            System.out.println("Не равны");

        if ("test"=="test")
            System.out.println("Равны");
        else
            System.out.println("Не равны");

        String test5="test";
        String test6="test";

        if (test5==test6)
            System.out.println("Равны");
        else
            System.out.println("Не равны");

        String test7;
        String test8;

        test7 = "aaa";
        test8 = "aaa";

        if (test7==test8)
            System.out.println("Равны");
        else
            System.out.println("Не равны");

    }
}



Во всех случаях он возвращает "Равны". Только я теперь не догоняю, зачем придумали equal и в самых новых учебниках по жаве написано что нельзя использовать == для сравнения строк. Может в какой-то древней версии жавы это было нельзя, я проверял только на 1.7 и 1.8. Идея на строки со сравнением ругается как и студия.
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922523
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Они в твоих примерах тут не эволюционируют и вполне могут иметь один и тот же адрес. Ты их поломай, пообъединяй и сравни. Константы вполне могут оптимизатором поместиться в один адрес (что оправдывает мною выше приведенный код).
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922600
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поломал, соединял из разных частей - тоже сравнивает нормально:). Может ноги растут тут не из оптимизатора - помнится мне в какой-то версии жавы (вроде 1.7) можно стало строки сравнивать в switch, ранее этого нельзя было.
Ну в любом случае данный пример с if (BuildConfig.FLAVOR=="local") нормально работает - вот если б еще студию научить необращать на это внимание - тогда вообще хорошо было бы.
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922648
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Микола ПитерскийЧто-то я уже совсем запутался - то что ты сказал действительно верно - можно сравнивать по == не только константы строк, но и сами строки, вот код на жаве
причина в интернировании (по русски википедия называет это пулом) строк, смотри тут примеры когда это работает, а когда нет
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38922657
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а самое интересное - что оказывается это не proguard вырезает.
Код: java
1.
2.
3.
        if (BuildConfig.FLAVOR=="local") {
            slideItems.add(new SlideItems(R.drawable.ic_action_accounts, R.string.title_activity_registration));
        }



Вот этот код я собирал в debug в вариантах local и full, прогуард точно не работал -т.к. переменные оригинальные, но в варианте full этой строки меню в декомпилированных исходниках вообще нет, а в варианте local она есть но без сравнения (if (BuildConfig.FLAVOR=="local")) . Так что это наверное вырезает какой-то оптимизатор жавы, перед построением байткода.
Круто!!! Спасибо!!!
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38929991
korshun
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите по потреблению памяти, как-то внимание на это не обращал, а сейчас вот заметил, что связка android studio и java.exe на пару могут потреблять до 2.5(!!!) гб оперативки (studio ~1.4 gb, java.exe ~1gb).
При этом никаких безумно тяжелых или ресурсоемких задач не ставлю. Это нормально вообще ?
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38930006
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
korshunЭто нормально вообще ?
Нормально.
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38942229
Микола Питерский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин - не могу понять в чем дело - студия на ровном месте ошибку показывает - завершающая кавычка ей не нравится - я и переменную переименовывал и кавычки переписывал и перетаскивал строку в другое место - ошибка и все тут. Может у меня бубарашка завелась? 140.1782451
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38942301
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучшеб сам текст вставил, а не картинку. :)
...
Рейтинг: 0 / 0
Android Studio - новости, вопросы, проблемы и решения
    #38954248
vladimir74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго времени суток,

Можно ли поставить AndroidStudio+SDK как Portable на USB чтоб можно было на работе немного поюзать?
...
Рейтинг: 0 / 0
25 сообщений из 302, страница 10 из 13
Форумы / Android [игнор отключен] [закрыт для гостей] / Android Studio - новости, вопросы, проблемы и решения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]