<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>김장코딩</title>
    <link>https://yo0coding.tistory.com/</link>
    <description></description>
    <language>ko</language>
    <pubDate>Mon, 8 Jun 2026 05:41:54 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>yo0</managingEditor>
    <item>
      <title>[Mac] 맥 드래그 앤 드롭 먹통 현상 해결(Mac Drag &amp;amp; Drop not working)</title>
      <link>https://yo0coding.tistory.com/18</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;내가 이전에 한 방법은&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. finder 강제종료&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. killall finder&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 재시동(다시 로그인하면 윈도우 다시 열기 체크 해제)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. OS 업데이트&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;다 해봤는데 똑같이 커서에 파일이 따라다니고 동작이 안되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 &lt;b&gt;제일 왼쪽 상단 사과모양 클릭 -&amp;gt; 로그아웃(다시 로그인하면 윈도우 다시 열기 체크 해제)&lt;/b&gt; 후 다시 drag &amp;amp; drop 하니 작동한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;(하지만... 가끔씩 이 오류가 발생해서 그때마다 로그아웃 중이다...)&lt;/p&gt;</description>
      <category>drag &amp;amp; drop 오류</category>
      <category>MAC</category>
      <category>맥</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/18</guid>
      <comments>https://yo0coding.tistory.com/18#entry18comment</comments>
      <pubDate>Wed, 23 Apr 2025 08:36:14 +0900</pubDate>
    </item>
    <item>
      <title>[Android] 안드로이드 알림 일정 개수 이상일 때 못 받는 오류 해결</title>
      <link>https://yo0coding.tistory.com/17</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;안드로이드는 OS 10이상부터 24개, 그 이전 버전은 50개 알림 상한이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 이상 앱 알림이 쌓이면 더이상 새로운 알림을 받지 못하게 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 알림 제한에 도달했어도 편법으로 앱 알림을 받을 수 있는 방법이 있다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;일단 내 코드의 경우&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1743083484030&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Notification noti = new NotificationCompat.Builder(this, channelID)
	.setSmallIcon(R.drawable.noti_icon)
    .setColor(Color.gray)
    .setContentTitle('test')
    .setContentText('text1')
    .setAutoCancel(true)
    .setPriority(NotificationCompat.PRIORITY_HIGH)
	.setDefaults(NotificationCompay.DEFAULT_SOUND)
    .build();&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 setGroup, setGroupSummary 같은 그룹 설정을 해주지 않아서 4개 이상일 경우 자동으로 그룹이 된다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;만약 자동 그룹화를 사용하지 않는경우&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이렇게 설정하는 경우는 없긴 하겠지만... 만약 아예 그룹화를 못하게 설정했다면&lt;/p&gt;
&lt;pre id=&quot;code_1743083802458&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;NotificationManager notificationManager = 
    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

// 활성화된 알림 리스트 조회
StatusBarNotification[] activeNotifications = notificationManager.getActiveNotifications();

// 알림을 게시 시간 기준으로 정렬 (내림차순, 최신 알림이 첫 번째로 오게)
Arrays.sort(activeNotifications, new Comparator&amp;lt;StatusBarNotification&amp;gt;() {
    @Override
    public int compare(StatusBarNotification sbn1, StatusBarNotification sbn2) {
        return Long.compare(sbn2.getPostTime(), sbn1.getPostTime()); // 내림차순 정렬
    }
});

// 가장 오래된 알림 찾기 (배열의 마지막)
if (activeNotifications.length &amp;gt; 0) {
    StatusBarNotification oldestNotification = activeNotifications[activeNotifications.length - 1];

    // 가장 오래된 알림 제거
    notificationManager.cancel(oldestNotification.getId());
}

// 새로운 알림 생성
Notification newNotification = new NotificationCompat.Builder(this, CHANNEL_ID)
    .setContentTitle(&quot;New Noti&quot;)
    .setContentText(&quot;New Noti Test&quot;)
    .setSmallIcon(R.drawable.noti_icon)
    .build();

// 새로운 알림 게시
int newNotificationId = (int) System.currentTimeMillis();  // 새로운 알림 ID
notificationManager.notify(newNotificationId, newNotification);&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 cancel을 사용해 제거가 가능하다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 먼저 notificationManager.getActiveNotifications()으로 내 앱의 알림을 가져왔다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 가져온 알림들이 정렬이 안되어 있어서 알림을 시간 순으로 정렬했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 마지막에 있는 알림(가장 오래된 알림)을 cancel로 제거 해줬다.&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;자동 그룹화의 경우&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만..... 자동그룹화의 경우 저 cancel이 작동 하지가 않았는데......&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 그룹화 일때 가져온 알림들을 확인해보니&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;147&quot; data-origin-height=&quot;20&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bd6imV/btsMZGs0gvE/PrrHKktqKpeKmF7TVEREI0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bd6imV/btsMZGs0gvE/PrrHKktqKpeKmF7TVEREI0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bd6imV/btsMZGs0gvE/PrrHKktqKpeKmF7TVEREI0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbd6imV%2FbtsMZGs0gvE%2FPrrHKktqKpeKmF7TVEREI0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;147&quot; height=&quot;20&quot; data-origin-width=&quot;147&quot; data-origin-height=&quot;20&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;마지막 부분이 내 알림이 아닌 ranker_group이라고 auto grouping 할때 쓰는 저게 들어있었다(내 알림들은 tag가 없었다...) 그래서 알림이 아닌 쟤를 지워서 위 코드가 먹히지 않았다. &lt;b&gt;그래서 마지막이 저 ranker_group이면 그 전에 알림을 조회해서 내 알림이 나왔을 때 제거하면 된다. (if ranker_group이면 뒤에 1개가 아닌 2개 지우면 됨)&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;a href=&quot;https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/notification/GroupHelper.java&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/notification/GroupHelper.java&lt;/a&gt;&lt;/b&gt;&lt;/p&gt;
&lt;figure id=&quot;og_1743084938628&quot; contenteditable=&quot;false&quot; data-ke-type=&quot;opengraph&quot; data-ke-align=&quot;alignCenter&quot; data-og-type=&quot;website&quot; data-og-title=&quot;services/core/java/com/android/server/notification/GroupHelper.java - platform/frameworks/base - Git at Google&quot; data-og-description=&quot;&quot; data-og-host=&quot;android.googlesource.com&quot; data-og-source-url=&quot;https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/notification/GroupHelper.java&quot; data-og-url=&quot;https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/notification/GroupHelper.java&quot; data-og-image=&quot;&quot;&gt;&lt;a href=&quot;https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/notification/GroupHelper.java&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; data-source-url=&quot;https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/notification/GroupHelper.java&quot;&gt;
&lt;div class=&quot;og-image&quot; style=&quot;background-image: url();&quot;&gt;&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;og-text&quot;&gt;
&lt;p class=&quot;og-title&quot; data-ke-size=&quot;size16&quot;&gt;services/core/java/com/android/server/notification/GroupHelper.java - platform/frameworks/base - Git at Google&lt;/p&gt;
&lt;p class=&quot;og-desc&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;og-host&quot; data-ke-size=&quot;size16&quot;&gt;android.googlesource.com&lt;/p&gt;
&lt;/div&gt;
&lt;/a&gt;&lt;/figure&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;여기보면 ranker_group이 붙는걸 알 수 있음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;i&gt;*주의*&lt;/i&gt;&lt;/b&gt; &lt;i&gt;알림을 동시에 날릴 시 get할때 반영이 느리게 적용되어서 알림개수가 혼동될 수 있다. 동시에 날라올 수 있다면 24개는 알림 가져오는게 꼬일 수도 있으니 내 경우 상한을 20개로 두고 지워주는 작업을 하여 해결했다.&lt;/i&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Java &amp;amp; Kotlin</category>
      <category>Android</category>
      <category>android notification limit</category>
      <category>auto grouping</category>
      <category>안드로이드</category>
      <category>안드로이드 알림 개수 제한</category>
      <category>안드로이드 알림 제한</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/17</guid>
      <comments>https://yo0coding.tistory.com/17#entry17comment</comments>
      <pubDate>Thu, 27 Mar 2025 23:16:54 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] 웹 스크래핑으로 웹 사이트 데이터 수집하기</title>
      <link>https://yo0coding.tistory.com/16</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;학교 앱을 개발하기 위해 공지사항 데이터가 필요했지만, 학교 웹사이트에서만 공지사항이 노출되고 있었기 때문에 사이트에서 직접 긁어와야 했다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;필요한 데이터는 공지사항 내용이랑 공지사항의 링크 주소 였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. 스크래핑을 위해 해당 package가 필요하다.&lt;/p&gt;
&lt;pre id=&quot;code_1718932996679&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;import 'package:http/http.dart' as http;
import 'package:html/dom.dart' as html;
import 'package:html/parser.dart' as parser;&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. 일단 SSL 인증이나 검증을 무시하기 위해서 http요청 기본설정을 바꿨다.&lt;/p&gt;
&lt;pre id=&quot;code_1718933902385&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;HttpOverrides.global = MyHttpOverrides();

class MyHttpOverrides extends HttpOverrides{
  @override
  HttpClient createHttpClient(SecurityContext? context){
    return super.createHttpClient(context)
      ..badCertificateCallback = (X509Certificate cert, String host, int port)=&amp;gt; true;
  }

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;3. 일단 dom형태로 변환시켰다. 내가 가져와야할 공지사항은 _artclTdTitle 클래스에 있었기 때문에 해당하는 element들을 선택했다.&lt;/p&gt;
&lt;pre id=&quot;code_1718933263820&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;  http.Response response = await http.get(Uri.parse(&quot;스크랩할 링크&quot;));
  html.Document document = parser.parse(response.body);
  List&amp;lt;html.Element&amp;gt; keywordElements = document.querySelectorAll('._artclTdTitle&amp;gt;a');
  keywords = crawling(keywordElements); //공지 내용 가져오기(커스텀)
  noticeLink = crawlingLink(keywordElements); //공지 링크 가져오기(커스텀)&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;4. 그 후에는 웹 양식에 맞게 가져올 부분들을 선택해서 긁어왔다.&lt;/p&gt;
&lt;pre id=&quot;code_1718933510645&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String? crawling(List&amp;lt;html.Element&amp;gt; keywordElements) {
  String? keywords='';
  int i=0;//공지번호(최근순)
  for (var element in keywordElements) {
    if(i==1)
      break;
    html.Element? rank = element.querySelector('strong');
    keywords = rank?.text;
    i++;
  }

  return keywords;
}&lt;/code&gt;&lt;/pre&gt;
&lt;pre id=&quot;code_1718933536201&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;String? crawlingLink(List&amp;lt;html.Element&amp;gt; keywordElements){
  String? noticeLink='';
  int i=0;//공지번호(최근순)
  for (var element in keywordElements) {
    if(i==1)
      break;
    noticeLink = element.attributes['href'];
    print(noticeLink);
    i++;
  }
  return noticeLink;

}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>flutter</category>
      <category>웹스크래핑</category>
      <category>크롤링</category>
      <category>플러터</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/16</guid>
      <comments>https://yo0coding.tistory.com/16#entry16comment</comments>
      <pubDate>Fri, 21 Jun 2024 10:38:31 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] Window 빌드 하는 방법</title>
      <link>https://yo0coding.tistory.com/15</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;기존의 AOS, IOS 프로젝트를 Window로 빌드하는 방법이다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;b&gt;1. Visual studio 2022 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt; 2. c++ 데스크톱, 모바일 개발 설치&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;br /&gt;&lt;i&gt;*만약 설치를 하지 못했다면&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1286&quot; data-origin-height=&quot;676&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/IdUR6/btsDxAaYFL1/YCwmiIjleDl09UrMk4Q0wK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/IdUR6/btsDxAaYFL1/YCwmiIjleDl09UrMk4Q0wK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/IdUR6/btsDxAaYFL1/YCwmiIjleDl09UrMk4Q0wK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIdUR6%2FbtsDxAaYFL1%2FYCwmiIjleDl09UrMk4Q0wK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1286&quot; height=&quot;676&quot; data-origin-width=&quot;1286&quot; data-origin-height=&quot;676&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;711&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QqQEC/btsDrobYeUY/9YzowQgepY7iKLFqh3XOk0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QqQEC/btsDrobYeUY/9YzowQgepY7iKLFqh3XOk0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QqQEC/btsDrobYeUY/9YzowQgepY7iKLFqh3XOk0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQqQEC%2FbtsDrobYeUY%2F9YzowQgepY7iKLFqh3XOk0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1281&quot; height=&quot;711&quot; data-origin-width=&quot;1281&quot; data-origin-height=&quot;711&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;여기서 C++ 개발을 다운받아준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;3. 명령 프롬프트에서 winget install Microsoft.NuGet 실행(&lt;a href=&quot;https://stackoverflow.com/questions/71734042/flutter-windows-build-nuget-is-not-installed&quot;&gt;https://stackoverflow.com/questions/71734042/flutter-windows-build-nuget-is-not-installed&lt;/a&gt; )&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;977&quot; data-origin-height=&quot;516&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/eY6zIq/btsDxTOT0HJ/JTb1uLw5rkO2CuF7y0lLsK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/eY6zIq/btsDxTOT0HJ/JTb1uLw5rkO2CuF7y0lLsK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/eY6zIq/btsDxTOT0HJ/JTb1uLw5rkO2CuF7y0lLsK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FeY6zIq%2FbtsDxTOT0HJ%2FJTb1uLw5rkO2CuF7y0lLsK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;977&quot; height=&quot;516&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;977&quot; data-origin-height=&quot;516&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;사용약관 동의에 Y 해준다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;4. flutter clean flutter pub get&lt;/b&gt;&lt;br /&gt;&lt;b&gt;5.&amp;nbsp;flutter&amp;nbsp;create&amp;nbsp;--platforms=windows,macos,linux&amp;nbsp;.&amp;nbsp;입력&lt;/b&gt; &lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;6. Windows(desktop)으로 빌드하기&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;59&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/RH8k7/btsDxjUI3Il/gJSWA1VfTvK7wpFDSL4jY1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/RH8k7/btsDxjUI3Il/gJSWA1VfTvK7wpFDSL4jY1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/RH8k7/btsDxjUI3Il/gJSWA1VfTvK7wpFDSL4jY1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FRH8k7%2FbtsDxjUI3Il%2FgJSWA1VfTvK7wpFDSL4jY1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;484&quot; height=&quot;59&quot; data-origin-width=&quot;484&quot; data-origin-height=&quot;59&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;///안될 때&lt;br /&gt;&lt;b&gt;7. Nuget.exe를 찾을 수 없음&lt;/b&gt;.&lt;br /&gt;- cmd에서 nuget 잡히는데도 nuget.exe오류 나면 windows 폴더 삭제해보기 Nuget.exe을 계속 못 찾는다고하면 Nuget을 공식 홈페이지(&lt;a href=&quot;https://www.nuget.org/&quot; target=&quot;_blank&quot; rel=&quot;noopener&amp;nbsp;noreferrer&quot;&gt;https://www.nuget.org/&lt;/a&gt;)에서 다운 후 C:\Program Files (x86)\NuGet 폴더에 실행파일 넣기&lt;br /&gt;&lt;b&gt;8. Clang, Cmake 오류&lt;/b&gt;&lt;br /&gt;- visualStudio에서 도구 -&amp;gt;도구 및 기능 가져오기에서 개별구성요소에서 clang, C++ Cmake 다운&lt;br /&gt;&lt;b&gt;9. 패키지 관련 오류&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;- window 호환성 확인, 호환 안되면 패키지 삭제, pubspeck.yaml에서 지우기&lt;/p&gt;</description>
      <category>Flutter</category>
      <category>flutter</category>
      <category>flutter window</category>
      <category>Flutter Window build</category>
      <category>flutter window 빌드</category>
      <category>플러터 윈도우 빌드</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/15</guid>
      <comments>https://yo0coding.tistory.com/15#entry15comment</comments>
      <pubDate>Mon, 15 Jan 2024 22:36:57 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] Json 데이터 받아올 시 DateFormat 불가 오류 해결</title>
      <link>https://yo0coding.tistory.com/14</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;String 형태인 Json 데이터를 받아왔는데 분명 날짜와 시간이 정확한데 Invalid date format이라며 DateFormat이 불가했다.&lt;/p&gt;
&lt;pre id=&quot;code_1678257397837&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Invalid date format
    20230308T093800&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런식으로 정확한데 변환이 되지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;혹시 뒤에 공백이 있나 싶어 Trim()과 substring 모두 사용해 봤지만 작동되지 않았다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;해당&amp;nbsp;Json&amp;nbsp;데이터를&amp;nbsp;자세하게&amp;nbsp;보기&amp;nbsp;위해&amp;nbsp;로그를&amp;nbsp;찍어봤더니&amp;nbsp;Time의&amp;nbsp;구조가&amp;nbsp;&quot;100000\u0000\u0000\u0000\u0000&quot;와&amp;nbsp;같이&amp;nbsp;나와있었다. &lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;찾아보니 \u0000은 유니코드 공백, Null이라고 한다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1678257648362&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;json['time'].replaceAll('\u0000', '')&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;와 같이 \u0000을 replace하여 해결하였다.&lt;/p&gt;</description>
      <category>Flutter</category>
      <category>flutter</category>
      <category>Invalid date format</category>
      <category>Json 데이터 변환 오류</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/14</guid>
      <comments>https://yo0coding.tistory.com/14#entry14comment</comments>
      <pubDate>Wed, 8 Mar 2023 15:41:54 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] Getx, Modal Bottom Sheet, This Obx widget cannot be marked as needing to build beacause the framework is already in the process of building widgets 오류 해결</title>
      <link>https://yo0coding.tistory.com/13</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Obx로 감싸진 버튼을 클릭하면 함수로 Modal Bottom Sheet를 불러오는데 한 번 클릭 했을 때는 문제가 없었는데 두 번 째 클릭했을 때는 해당 오류가 떴다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;Screenshot_20230308_105657[1].jpg&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;1189&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/c9g2Wt/btr2IvJHfZn/Ijvj6LphKY9am3rph1KTg0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/c9g2Wt/btr2IvJHfZn/Ijvj6LphKY9am3rph1KTg0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/c9g2Wt/btr2IvJHfZn/Ijvj6LphKY9am3rph1KTg0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc9g2Wt%2Fbtr2IvJHfZn%2FIjvj6LphKY9am3rph1KTg0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;840&quot; height=&quot;1189&quot; data-filename=&quot;Screenshot_20230308_105657[1].jpg&quot; data-origin-width=&quot;840&quot; data-origin-height=&quot;1189&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;pre id=&quot;code_1678241364779&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Obx((){
...
OnTap:(){
showBottomContainer(context);
}
...
})

showBottomContainer(BuildContext context)
{showModalBottomSheet(
          context: context,
          builder: (BuildContext context) {
            return Container(
              );
          },
        );}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이런 식으로 작성되었었음.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;이 함수는 Getx로 관리되는, 즉 Obx로 불러오는데 showModalBottomSheet를 사용하여 또 다시 빌드를 하여 생기는 문제였다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre id=&quot;code_1678246395420&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Obx((){
...
OnTap:(){
showBottomContainer(context);
}
...
})

showBottomContainer(BuildContext context)
{Get.bottomSheet(Container());}&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3 data-ke-size=&quot;size23&quot;&gt;&lt;b&gt;이런식으로 showModalBottomSheet를 Get.bottomSheet로 바꾸어 해결하였다.&lt;/b&gt;&lt;/h3&gt;</description>
      <category>Flutter</category>
      <category>flutter</category>
      <category>GetX</category>
      <category>ModalBottomSheet 오류</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/13</guid>
      <comments>https://yo0coding.tistory.com/13#entry13comment</comments>
      <pubDate>Wed, 8 Mar 2023 12:34:41 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] ERROR : No application found for TargetPlatform.android_arm64</title>
      <link>https://yo0coding.tistory.com/12</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;갑자기 AndroidManifest.xml을 찾을 수 없다면서 에러가 뜬다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;flutter clean 후 flutter pub get을 하면 된다.&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>Flutter</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/12</guid>
      <comments>https://yo0coding.tistory.com/12#entry12comment</comments>
      <pubDate>Fri, 3 Mar 2023 13:22:17 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] GetX 에러, the improper use of a GetX has been detected. 해결</title>
      <link>https://yo0coding.tistory.com/11</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;Obx, Getx를 쓴 곳에 변경 될 변수를 삽입하지 않아서 생긴 문제이다. 굳이 Obx, Getx를 쓰지 않아도 된다는 에러.&lt;/p&gt;
&lt;pre id=&quot;code_1677485504544&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;Obx((){
	return Container(
	...
	);
})&lt;/code&gt;&lt;/pre&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;1. Obx, Getx를 삭제하거나&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;2. Rx 타입의 변수를 안에 넣어주는 등 관찰 가능한 변수를 만들어준다.&lt;/p&gt;</description>
      <category>GetX 에러</category>
      <category>the improper use of a GetX has been detected</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/11</guid>
      <comments>https://yo0coding.tistory.com/11#entry11comment</comments>
      <pubDate>Mon, 27 Feb 2023 17:13:14 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] libnative-lib.so is 64-bit instead of 32-bit 해결</title>
      <link>https://yo0coding.tistory.com/10</link>
      <description>&lt;figure data-ke-type=&quot;image&quot; data-ke-style=&quot;alignCenter&quot; data-ke-mobilestyle=&quot;widthOrigin&quot;&gt;&lt;/figure&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;940&quot; data-origin-height=&quot;378&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEckz5/btrZlqTechD/DAEJEWXNTv2COGHCp0iMZk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEckz5/btrZlqTechD/DAEJEWXNTv2COGHCp0iMZk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEckz5/btrZlqTechD/DAEJEWXNTv2COGHCp0iMZk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEckz5%2FbtrZlqTechD%2FDAEJEWXNTv2COGHCp0iMZk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;940&quot; height=&quot;378&quot; data-origin-width=&quot;940&quot; data-origin-height=&quot;378&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;Device Manager&lt;/span&gt;에 들어가면 &lt;span&gt;x86&lt;/span&gt;이라고 되어있다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;내가 가상기기를 &lt;span&gt;x86&lt;/span&gt;으로 다운받아 &lt;span&gt;32&lt;/span&gt;비트였었다&lt;span&gt;. (R&lt;/span&gt;로 다운 받았는데 &lt;span&gt;32bit&lt;/span&gt;이다&lt;span&gt;.)&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;참고로 &lt;span&gt;armeabi-v7a, x86&lt;/span&gt;은 &lt;span&gt;32&lt;/span&gt;비트&lt;span&gt;, arm64-v8a, x86_64&lt;/span&gt;는 &lt;span&gt;64&lt;/span&gt;비트이다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;&lt;a href=&quot;https://codechacha.com/ko/how-to-add-so-libraries-in-android-studio/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;https://codechacha.com/ko/how-to-add-so-libraries-in-android-studio/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;새로 &lt;span&gt;R&lt;/span&gt;보다 높은 버전으로 &lt;span&gt;AVD&lt;/span&gt;를 만들어줬다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;502&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/danioj/btrZkbI1XUm/IVl6fK6959ndkdD95drmr1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/danioj/btrZkbI1XUm/IVl6fK6959ndkdD95drmr1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/danioj/btrZkbI1XUm/IVl6fK6959ndkdD95drmr1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fdanioj%2FbtrZkbI1XUm%2FIVl6fK6959ndkdD95drmr1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;814&quot; height=&quot;502&quot; data-origin-width=&quot;814&quot; data-origin-height=&quot;502&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>flutter</category>
      <category>libnative-lib.so is 64-bit instead of 32-bit</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/10</guid>
      <comments>https://yo0coding.tistory.com/10#entry10comment</comments>
      <pubDate>Wed, 15 Feb 2023 13:15:12 +0900</pubDate>
    </item>
    <item>
      <title>[Flutter] UnsatisfiedLinkError, libnative-lib.so not found 해결</title>
      <link>https://yo0coding.tistory.com/9</link>
      <description>&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;940&quot; data-origin-height=&quot;405&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/boAmcl/btrZkyRaiCv/K7czkM0LXR8aPKKW1d7fGK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/boAmcl/btrZkyRaiCv/K7czkM0LXR8aPKKW1d7fGK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/boAmcl/btrZkyRaiCv/K7czkM0LXR8aPKKW1d7fGK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboAmcl%2FbtrZkyRaiCv%2FK7czkM0LXR8aPKKW1d7fGK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;940&quot; height=&quot;405&quot; data-origin-width=&quot;940&quot; data-origin-height=&quot;405&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;android &amp;gt; app &amp;gt; src &amp;gt; main&lt;/span&gt;에 &lt;span&gt;jniLibs &lt;/span&gt;폴더를 만들었었고 그 안에&lt;span&gt; .so &lt;/span&gt;파일들이 있었다&lt;span&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;140&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cVA1bQ/btrZiOVbBlY/pJywfVz5j3kENX6li0rEIK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cVA1bQ/btrZiOVbBlY/pJywfVz5j3kENX6li0rEIK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cVA1bQ/btrZiOVbBlY/pJywfVz5j3kENX6li0rEIK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcVA1bQ%2FbtrZiOVbBlY%2FpJywfVz5j3kENX6li0rEIK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;418&quot; height=&quot;140&quot; data-origin-width=&quot;418&quot; data-origin-height=&quot;140&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;그런데 계속 libnative-lib.so를 찾을 수 없다고 떴다.&lt;/span&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;243&quot; data-origin-height=&quot;580&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/TbfqS/btrZlYPkJ0K/gCXfLKGpEzxeiK1mLtzRlk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/TbfqS/btrZlYPkJ0K/gCXfLKGpEzxeiK1mLtzRlk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/TbfqS/btrZlYPkJ0K/gCXfLKGpEzxeiK1mLtzRlk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTbfqS%2FbtrZlYPkJ0K%2FgCXfLKGpEzxeiK1mLtzRlk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;243&quot; height=&quot;580&quot; data-origin-width=&quot;243&quot; data-origin-height=&quot;580&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;span&gt;build - Analyze APK&lt;/span&gt;에서 &lt;span&gt;app-debug.apk&lt;/span&gt;통해 빌드된 &lt;span&gt;apk&lt;/span&gt;를 살펴보았더니&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;125&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/vvT75/btrZlWYhCip/B1Y6T8CYG7txwR0isNlvf1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/vvT75/btrZlWYhCip/B1Y6T8CYG7txwR0isNlvf1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/vvT75/btrZlWYhCip/B1Y6T8CYG7txwR0isNlvf1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FvvT75%2FbtrZlWYhCip%2FB1Y6T8CYG7txwR0isNlvf1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;772&quot; height=&quot;125&quot; data-origin-width=&quot;772&quot; data-origin-height=&quot;125&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;936&quot; data-origin-height=&quot;55&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dEEmVU/btrZmDYFtz6/kKQCOc5HoY7VrHEbH8IKB1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dEEmVU/btrZmDYFtz6/kKQCOc5HoY7VrHEbH8IKB1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dEEmVU/btrZmDYFtz6/kKQCOc5HoY7VrHEbH8IKB1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdEEmVU%2FbtrZmDYFtz6%2FkKQCOc5HoY7VrHEbH8IKB1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;936&quot; height=&quot;55&quot; data-origin-width=&quot;936&quot; data-origin-height=&quot;55&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;x86파일 밖에 빌드가 안되었다.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;그래서 jniLibs &amp;gt; x86 폴더 안에 &lt;span&gt;libnative-lib.so파일을 넣고 다시 실행해주었더니 해결하였다.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;925&quot; data-origin-height=&quot;227&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bc8nrB/btrZkx5Mp79/qHG7HsvmzuyQVFmGtp363k/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bc8nrB/btrZkx5Mp79/qHG7HsvmzuyQVFmGtp363k/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bc8nrB/btrZkx5Mp79/qHG7HsvmzuyQVFmGtp363k/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbc8nrB%2FbtrZkx5Mp79%2FqHG7HsvmzuyQVFmGtp363k%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;925&quot; height=&quot;227&quot; data-origin-width=&quot;925&quot; data-origin-height=&quot;227&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;잘 들어가 있는 모습.&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;하지만 이번에는 libnative-lib.so is 64-bit instead of 32-bit라는 에러가 떠서 다시 오류수정을..&lt;/p&gt;</description>
      <category>libnative-lib.so not found</category>
      <category>UnsatisfiedLinkError</category>
      <author>yo0</author>
      <guid isPermaLink="true">https://yo0coding.tistory.com/9</guid>
      <comments>https://yo0coding.tistory.com/9#entry9comment</comments>
      <pubDate>Wed, 15 Feb 2023 09:49:02 +0900</pubDate>
    </item>
  </channel>
</rss>