infer 가져오기 안드로이드 항목에 대한 코드 분석
참조공식 페이지로 안드로이드 항목을 분석해 보았습니다.
가져오기
github의 릴리즈 페이지에서 사용하는 OS에 따라 파일을 다운로드합니다.
Mac OS X용
infer-osx-v0.1.0.tar.xz
을 사용합니다.이 글이 공개되었을 때의 최신 판본은version 0.1.0
이다.다운로드한
infer-osx-v0.1.0.tar.xz
를 확장합니다.펼치면
infer-osx-v0.1.0/
목록이 나온다.$ ~ ls
$ ~ infer-osx-v0.1.0.tar.xz
$ ~
$ ~ tar xf infer-osx-v0.1.0.tar.xz
$ ~
$ ~ ls
$ ~ infer-osx-v0.1.0.tar.xz infer-osx-v0.1.0
infer-osx-v0.1.0/infer/infer/bin
경로를 통과합니다.각자의 환경에 맞추세요.export INFER=~/infer-osx-v0.1.0/infer/infer/bin
export PATH=$INFER:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH
이렇게 가져오면 완성됩니다.코드 분석
참조Hello world Android, 새로 제작된 안드로이드 프로젝트에 대한 코드 해석.
$ ~ cd SampleInfer/
$ SampleInfer
$ SampleInfer infer -- ./gradlew clean build
Starting analysis (Infer version v0.1.0)
Analysis done
5 files analyzed
No issues found
$ SampleInfer
코드 해석에 성공하여 문제가 없음을 확인하였습니다.문제점
현재 Butterknife 등 모조 생성 클래스를 추가한 프로그램 라이브러리를 사용하는 프로젝트에 대해 코드 분석을 하면 욕을 먹는다.
새로 제작된 안드로이드 프로젝트에서 버터크니프를 사용해 오징어 같은 코드를 만들어 보자.
MainActivity.java
package com.sample.infer.sampleinfer;
import butterknife.InjectView;
public class MainActivity extends AppCompatActivity {
@InjectView(R.id.textview)
protected TextView textView;
이 상태에서 코드 해석을 하면$ ~ cd SampleInfer/
$ SampleInfer infer -- ./gradlew clean build
Fatal error: exception Invalid_argument("Error : com.sample.infer.sampleinfer.MainActivity$$ViewInjector is not a valid name for a class")
$ SampleInfer
생성된 MainActivity$$ViewInjector
류의 명칭과 관련이 있다.github에 issue가 있으니 대응을 기다리세요.
Support java classnames with $$ #3
그게 다야.
Reference
이 문제에 관하여(infer 가져오기 안드로이드 항목에 대한 코드 분석), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sho5nn/items/b1ded71d67eb39478ddb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)