오류 내용

D8: Program type already present: com.example.myapp.Activity

java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: /Users

 

구글링이나 Stackoverflow 쪽 내용을 찾다보면 muiltidex 관련을 하라고 나오지만

전혀 해당사항없다.

Program type already present: [본인의 패키지명].Activity

라이브러리명이 아니라 본인의 패키지명이 뜬다면

본인의 네이티브 코드의 충돌로 인한것이다

 

Flutter 는 네이티브 코드를 추가 할수 있는데 아래와 같이 2가지 중 하나를 선택 할 수 있는데

Android - Java or Kotlin

IOS - Swift or ObjectiveC 

위 해당 오류로그는 Android에서 Build할때 생성되는 오류로 

[Project]/android/app/src/main/java 아래 마지막 경로에 Application.java를 작성하고

[Project]/android/app/src/main/kotlin 아래 마지막 경로에도 Application.kt를 작성하였기때문에

java와 kotlin 2가지 모두 작성되어 발생하는 오류로 kotlin이나 Java 중 하나의 Application파일만 지우면 해결!

Container를 씌워주자

 Container(
    color: Colors.white70,//배경색
    margin: EdgeInsets.symmetric(horizontal: 20.0, vertical: 5),
    child:ListTile(
       leading: CircleAvatar(
                  backgroundImage: NetworkImage(photoUrl),
                ),
       title:Text(ProfileList[index]['id']),
       onTap: (){ },
 )

본인이 사용하는 컴퓨터의 CPU가 AMD CPU이고

윈도우10에 Virtualbox를 이용해 Ubuntu를 사용하는 경우 발생하였다.

Virtualbox Ubuntu에서 패키지 관리툴을 이용해 Repo를 통해 다운받는 경우

Virtualbox를 사용하는 중 오류에 대부분은 이 원인이다.

 

Checksum check failed!

Do not match Checksum

Checksum error와 같은 메시지를 볼 수 있다.

그럴 경우 방법은 간단하다 

윈도우의 Hyper-V 기능을 꺼버리자

프로그램 및 기능 -> Windows 기능 켜기/끄기 - Hyper-V 체크 해제

확실히 하기 위해 레지스트리에서도 기능을 꺼버리자

 

관리자로 명령 프롬프트를 실행하고 

bcdedit /set hypervisorlaunchtype off

bcdedit /set hypervisorlaunchtype off

 

재부팅까지 확실하게 하자

그리고 다시 Virtualbox를 실행하면 문제가 사라진다.

blacklist.js:38

return new RegExp(

               ^

SyntaxError: Invalid regular expression: /(.*\\__fixtures__\\.*|node_modules[\\\]react[\\\]dist[\\\].*|website\\node_modules\\.*|heapCapture\\bundle\.js|.*\\__tests__\\.*)$/: Unterminated character class

윈도우에서 expo start 시 위와 같은에러로 Expo Metro Bundle 페이지가 실행은 되었지만

죽어버리는 경우가 있다.(윈도우의 경우 발생)

이와 같은 해결법으로는

*프로젝트 폴더 내부에 *

\node_modules\metro-config\src\defaults\blacklist.js

 

var sharedBlacklist = [
  /node_modules[/\\]react[/\\]dist[/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

위 코드 부분을 아래와 같이 고쳐 주면된다.

var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

현재 지도에 표시되는 각 모서리의 좌표를 가지고 와야한다.

  // kakao.maps.LatLngBounds 
    var bounds = map.getBounds(); 

    // kakao.maps.LatLng 
    var sw = bounds.getSouthWest(); 
    var ne = bounds.getNorthEast(); 

    // 개별 위/경도 
    var swLat = sw.getLat(); 
    var swLng = sw.getLng(); 
    var neLat = ne.getLat(); 
    var neLng = ne.getLng();

가져온 코드 좌표를 Form에 담아서 전송

테이블에 GPS 정보를 저장하는 테이블은  POINT   데이터 형으로 저장되어야한다

gps 필드를 위와 같이 POINT 데이터 타입으로 저장하고 넣어야한다.

$cord =$_GET['swLat']." ".$_GET['swLng'].", ".$_GET['neLat']." ".$_GET['neLng'];
$sql = "SELECT * from 테이블 WHERE MBRContains(GeomFromText('LineString($cord)'), `gps`)"

MBRContains을 활용하여

위와 같이 Query를 날리면 원하는 범위 검색을 할 수있다.

Sphinx 검색엔진은 엘라스틱 서치와 같은 널리 알려진 검색엔진이 아니라서 

정리된 문서가 많지는 않다.

특히 PostgresSQL과 연동하는 한글 문서는 거의 없어서 간략하게 정리해보고자한다.


먼저 Sphinx 검색엔진을 이야기하자면 미리 최적화하여 데이터를 인덱싱해두어 빠른 순간검색을 자랑하기에

자동완성과 같은 부분에서 활용 할 수 있다.


여기서의 환경은 AWS RDS-PostgresSQL 를 이용하여 연동하는 방법이다.

PostgreSQL의 경우에는 익숙치 않기에 RDS를 활용하면 UI로 간단히 Managed 할 수 있어서 편하다.

(Free-Tier로 사용가능하다)


#서버 환경 

EC2- Ubuntu 기반 Sphinx

RDS - postgresSQL  


#설치 (EC2 -ubuntu)

// 컴파일 라이브러리 설치

$ sudo apt-get install build essential 


// Sphinx 설치

$ sudo apt-get install sphinxsearch


// PostgreSQL용 Sphinx 확장 모듈 설치

=> https://github.com/andy128k/pg-sphinx

$ git clone https://github.com/andy128k/pg-sphinx


; installation 대로 하면 필요한 라이브러리가 없어서 make시 오류를 뱉는다. 라이브러리를 설치하자

$ sudo apt-get install libpq-dev python-dev

$ sudo apt-get install postgresql-server-dev-all

// 필요한 라이브러리를 다 설치했다고 생각했지만 Make시  뜬금없이 mysql.h 파일을 찾을 없다는 오류를 뱉는다

// sphinx.c:4:19: fatal error: mysql.h: No such file or directory

// mysql client 라이브러리도 설치하자

$  sudo apt-get install libmysqlclient-dev


//이제 make가 될것이다.

$ make
$ make install


Apatana 처음 설치시 대부분 다음과 같은 오류가 발생한다.


Failed to correctly acquire installer_nodes_windows.msi file: CRC error


node js 설치 후

관리자 권한으로 CMD 커맨드창 실행

설치 파일명 뒤에 /passive 옵션을 붙혀주면 대부분 잘 설치된다

Aptana_Studio_3_Setup_3.6.1.exe/passive


mod_security 설정에서 

       SecRuleEngine Off

로 바꿔준다.


tar cvfpz aaa.tar.gz target_folder

rpm --import http://repo.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy 

cd /etc/yum.repos.d/ 

wget http://repo.webtatic.com/yum/webtatic.repo

yum remove -y php php-cli php-common php-devel php-gd php-ldap php-mbstring php-mcrypt php-mysql php-pdo php-xml php php-cli php-common php-gd php-ldap php-mysql php-pdo php-pear php-pear-DB php-pgsql

yum --enablerepo=webtatic --exclude=php*5.4* install -y php php-cli php-common php-devel php-gd php-ldap php-mbstring php-mcrypt php-mysql php-pdo php-xml php php-cli php-common php-gd php-ldap php-mysql php-pdo php-pear php-pear-DB php-pgsql

+ Recent posts