てりーぬの成長ブログ

1. 私の記録(ブログ)が誰かの役に立つように。1. 私のイラストでほっこり笑顔を届ける。1. たくさんの人に見てもらえるように工夫する。1. 自分が見返したとき笑顔になれるように記録を残す。

Android Studio Error

No variants found for ‘app’
 - 「アプリ」の※バリアントが見つかりませんというエラー -

 

アプリで定義しているAPIレベルのパッケージがインストールされていないことが原因だった。

 

【解決方法】

Android Studio 起動 -> SDK Manager -> Appearance & Behavior -> System Settings -> Android SDK 

必要なものにチェック✓を入れ、Applyをクリックしてインストールする。

 

 

※バリアント:種類の設定

参考:

https://future-architect.github.io/articles/20210120/
https://developer.android.com/studio/build/build-variants?hl=ja

 

*******記事の更新記録*******

2021/11/27....初回記録!<更新!

*********************

構造体と共用体の違い

共用体と構造体の違い

構造体はすべてのメンバーに対して、同時に別々の値を代入することができる。
共用体は、一つの変数に対し、どれか一つのメンバーしか同時に使えない。
参考:http://c-lang.sevendays-study.com/ex-day5_union.html

例)「BYTEデータからBITデータを取り出す方法」の共用体を構造体で作った場合で比較してみる

/*
 *  データを格納する共用体
 */
union MSG_BUFFER {
    unsigned char BYTE;
    struct {
        unsigned int    state : 4;
        unsigned int    id : 4;
    } BIT;
};

void main(void){
    union  MSG_BUFFER msg;
    msg.BYTE = 0x1a;    // test data
    syslog(LOG_NOTICE, " BIT.state : 0x%3X\n BIT.id : 0x%3X", msg.BIT.id, msg.BIT.state);
            
    /* 結果
    *   BIT.id : 0x  1
    *  BIT.state : 0x  A
    */

}

/*
 *  データを格納する構造体
 */
typedef struct {
    unsigned char BYTE;
    struct {
        unsigned int    state : 4;
        unsigned int    id : 4;
    } BIT;
}MSG_BUFFER;

void main(void){
    union  MSG_BUFFER msg;
    msg.BYTE = 0x1a;    // test data
    syslog(LOG_NOTICE, " BIT.state : 0x%3X\n BIT.id : 0x%3X", msg.BIT.id, msg.BIT.state);
            
    /* 結果
    *   BIT.id : 0x  0
    *  BIT.state : 0x  0
    */

}

あんまり理解できてなかったけど、使うとわかる。
やっぱり覚えたことのアウトプットって大切。

 

*******記事の更新記録*******

2021/11/26....初回記録!<更新!

*********************