<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>jdk.log</title>
        <link>https://velog.io/</link>
        <description>저도 몰라요</description>
        <lastBuildDate>Fri, 29 Apr 2022 18:09:54 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>jdk.log</title>
            <url>https://images.velog.io/images/jdk_/profile/a74ee500-37a4-4e38-a501-8f74bc2cda87/화면 캡처 2022-01-27 160408.png</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. jdk.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/jdk_" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[[AndroidStudio] Gradle project sync faild. Basic functionality (e.g. editing 어쩌구)]]></title>
            <link>https://velog.io/@jdk_/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-Gradle-project-sync-faild.-Basic-functionality-e.g.-editing-%EC%9B%85%EC%95%B5</link>
            <guid>https://velog.io/@jdk_/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%8A%A4%ED%8A%9C%EB%94%94%EC%98%A4-Gradle-project-sync-faild.-Basic-functionality-e.g.-editing-%EC%9B%85%EC%95%B5</guid>
            <pubDate>Fri, 29 Apr 2022 18:09:54 GMT</pubDate>
            <description><![CDATA[<p>작업하던 환경에서 다른 환경으로 Git 레파지토리를 복제해오거나 재설치했거나 등등의 이유로 환경이 맞지 않아 아래와 같은 Gradle 오류가 발생한다.</p>
<blockquote>
<p>Gradle project sync faild. Basic functionality (e.g. editing, debugging) will not work properly.</p>
</blockquote>
<p>보통은 SDK 사용 버전이 맞지 않기 때문인데 . . </p>
<p>Try Again으로 말 안들으면 <code>Open &#39;Build&#39; View</code> 확인해서 혼내준다.</p>
<p><img src="https://velog.velcdn.com/images/jdk_/post/8cd66666-0751-48ee-af01-625039bb2fe7/image.png" alt="">
저거 눌러보면 로그에
<img src="https://velog.velcdn.com/images/jdk_/post/8504879d-0c98-42d2-9350-a1ca63269b8a/image.png" alt="">
뭐 이런 링크 있는데 눌러보면 SDK Installation 창이 뜬다.
<img src="https://velog.velcdn.com/images/jdk_/post/2a2791b6-837d-42aa-9b6d-ead0b3d04cdd/image.png" alt=""></p>
<p>Accept 하고 Next로 설치</p>
<p>완료되면<del>~</del>
역시 한번에 해결되지 않는 안드로이드!
<img src="https://velog.velcdn.com/images/jdk_/post/08b0e63f-99c4-4a3d-870f-953939519ef0/image.png" alt=""></p>
<p>말은 BUILD SUCCESSFUL in 5s 이래놓고 매핑오류 잔뜩나벌였쥬</p>
<p>이럴땐 설치된 SDK 버전이 맞지 않아서 그런건데
<img src="https://velog.velcdn.com/images/jdk_/post/35633921-f977-45f5-afe2-9637571c123e/image.png" alt="">
<code>build.gradle</code> 이랑 <code>gradle-wrapper.properties</code> 두 파일을 좀 건드려봐야겠다
사실 건드려야 할 파일은 많다
하나하나 해보면서 안되면 다음다음으로 넘어갈것 . . </p>
<blockquote>
<ol>
<li>build.gradle</li>
<li>gradle-wrapper.properties</li>
<li>build.gradle(:app)</li>
<li>SDK Location 및 SDK Platforms</li>
<li>Gradle Location</li>
</ol>
</blockquote>
<h3 id="1-buildgradle">1. build.gradle</h3>
<p><img src="https://velog.velcdn.com/images/jdk_/post/003460f8-e2bc-4ff0-a56f-4f0ff6fb3238/image.png" alt="">
일단 작업 플젝에서 4.1.1 버전을 사용했으니까 이에맞는 6.5 버전 이상의 SDK가 설치되어야 한다.</p>
<h3 id="2-gradle-wrapperproperties">2. gradle-wrapper.properties</h3>
<p>그말은 즉슨 ? gradle-6.5 버전 이상을 사용해야하는데 properties 파일 확인해보니까</p>
<p><img src="https://velog.velcdn.com/images/jdk_/post/0784710a-2829-47e0-8b1b-99fb6cd3dc3b/image.png" alt=""></p>
<p>잘만 돼있다</p>
<p>숩 . ..</p>
<h3 id="3-buildgradleapp">3. build.gradle(:app)</h3>
<p>마지막으로 <code>build.gradle(:app)</code> 에서 compileSdkVersion, targetSdkVersion 이 일치하는지, 예전버전이 아닌지 확인해본다.</p>
<p>근데 일단 매핑로그가 버전차이다보니까 31로 바꿔서 다시해보겟다 . .
<img src="https://velog.velcdn.com/images/jdk_/post/f4780772-b96d-4acd-a1b1-eff720598693/image.png" alt="">
31로 바꿔서 Try again 하면 또 밑에서 프로그래스 바가 열심히 돌아가고
<img src="https://velog.velcdn.com/images/jdk_/post/5043bd02-7a91-48fd-8b0c-702aba0999de/image.png" alt="">
뭔가 파란색으로 바뀐걸 볼 수 있는데 아무튼 맘에들지않는다.
<del>_이걸 고치려는 내가 고집이고 객기인건 아닐까 . . _</del></p>
<p>그리고 아무튼 같은 오류 계속 남
여태 삽질한걸수도 있다는사실!!!!!!!!!!!!!!!!!!!!!!</p>
<h3 id="4-sdk-location-및-sdk-platforms">4. SDK Location 및 SDK Platforms</h3>
<p>다시 <code>ctrl + alt + S</code> 으로 멋지게 세팅창을 연 다음
SDK를 검색해서 다운로드 되어있는 SDK 확인!
<img src="https://velog.velcdn.com/images/jdk_/post/20b2110f-d08b-41aa-98ef-114a5602f10f/image.png" alt=""></p>
<p>설치되어있는 SDK가 저것밖에 없으니 문제였지 ㅉㅉ
아무일 없던 듯 당당하게 9와 10버전 일단 갈겨준다 . .
내 기억상 이거 두개는 분명 있었다 . .
<img src="https://velog.velcdn.com/images/jdk_/post/904177d6-95a3-4598-a931-519c910d24c0/image.png" alt="">
OK 하고 컨펆 췐지 함 확인 해보고 OK 하면 알아서 Install 됨
<img src="https://velog.velcdn.com/images/jdk_/post/ac2a70db-1644-4611-81f6-7b0173a985f8/image.png" alt=""></p>
<p>험맴ㅁ매 생각해보니까 위에 build.gradle(:app) 의 minSdkVersion이 </p>
<p>===============================
해결했다 . . 크킄</p>
<p>1 라이브러리에 따로 빠져있는 build.gradle 버전도 다른 build.gradle 과 똑같이 수정
2 sdk 버전 확인(31이상 지원하는 라이브러리 버전과 설정이 같이 달라짐)
3 하단에 뜨는 project update recommended 때문에 낚여서 자기맘대로 업데이트됐던 라이브러리 버전;
4 ndk 에서 x86이랑 x86_64 해야 에뮬레이터가 돌아감</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[[JAVA] System.arraycopy]]></title>
            <link>https://velog.io/@jdk_/javasystem.arraycopy</link>
            <guid>https://velog.io/@jdk_/javasystem.arraycopy</guid>
            <pubDate>Thu, 10 Feb 2022 01:54:04 GMT</pubDate>
            <description><![CDATA[<h3 id="systemarraycopy-란-">System.arraycopy 란 ?</h3>
<p>배열 복사</p>
<h3 id="파라미터">파라미터</h3>
<blockquote>
<p>System.arraycopy (<em>Object src, int srcPos, Object dest, int destPos, int length</em> )</p>
</blockquote>
<ul>
<li>src : 복사 하고자 하는 원본</li>
<li>srcPos : src에서 데이터 읽을 위치 (처음부터면 0)</li>
<li>dest : src를 넣을 대상 </li>
<li>destPos : src가 들어갈 dest의 시작 위치 (처음부터면 0)</li>
<li>length : 들어갈 데이터 길이</li>
</ul>
<h3 id="간단한-예제">간단한 예제</h3>
<ul>
<li>소스코드<pre><code>char[] src = {&#39;A&#39;,&#39;B&#39;,&#39;C&#39;};
char[] dest = {&#39;0&#39;,&#39;1&#39;,&#39;2&#39;,&#39;3&#39;,&#39;4&#39;};
</code></pre></li>
</ul>
<p>char[] result = new char[src.length+dest.length];</p>
<p>System.arraycopy(src, 0, dest, 0, src.length);
System.out.println(result);</p>
<pre><code>
* 결과</code></pre><p>ABC</p>
<pre><code></code></pre>]]></description>
        </item>
    </channel>
</rss>