Tech. Forum 개발자들을 위한 정보 공유의 장입니다
닫기

Tech.Forum

안드로이드 스튜디오에서 kotlin 프로젝트로 T map 지도 생성이 안 됩니다.

#1

안녕하세요, kotlin 프로젝트로 T amp API 를 쓰려고 합니다. EmptyActivity 로 http://tmapapi.sktelecom.com/main.html#android/sample/androidSample.sample1 에 나온 것 처럼 kotlin으로 썼을 때는 지도 생성이 되었는데, 제가 가지고 있는 환경에서는 안 됩니다. 자세히 보니 dependency 에서 차이가 나는 것 같은데 제가 무엇을 잘 못 하고 있는 건지 보시고 알려주시면 정말 감사하겠습니다. 참고로 에뮬레이터를 돌려보면 오른쪽 하단에는 skmap 아이콘만 뜹니다.

package foo

import android.os.Bundle
import android.support.v7.app.AppCompatActivity
import android.util.Log
import android.widget.LinearLayout
import com.skt.Tmap.TMapView

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    Main().checkMe()

    Log.i(TAG,"Hellooooooooo")
    setContentView(R.layout.activity_main)
    val linearLayoutTmap = findViewById<LinearLayout> (R.id.linearLayoutTmap)

    val tmapview = TMapView(this)
    tmapview.setSKTMapApiKey("xxxx-xxxx-xxxx-xxxx-xxxx")
    linearLayoutTmap.addView(tmapview)
}

}

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>










<?xml version="1.0" encoding="utf-8"?>
<android.widget.LinearLayout
xmlns:android=“http://schemas.android.com/apk/res/android
xmlns:tools=“http://schemas.android.com/tools
android:layout_width=“match_parent”
android:layout_height=“match_parent”
android:orientation=“vertical”
tools:context=".MainActivity">


</android.widget.LinearLayout>

그리고 build.gradle
plugins {
id ‘org.jetbrains.kotlin.multiplatform’ version ‘1.3.60’
}
repositories {
google()
jcenter()
mavenCentral()
}
apply plugin: ‘com.android.application’
apply plugin: ‘kotlin-android-extensions’

android {
compileSdkVersion 28
defaultConfig {
applicationId ‘org.jetbrains.kotlin.mpp_app_android’
minSdkVersion 15
targetSdkVersion 28
versionCode 1
versionName ‘1.0’
testInstrumentationRunner ‘android.support.test.runner.AndroidJUnitRunner’
}
buildTypes {
release {
minifyEnabled false
}
}
}

dependencies {
implementation fileTree(include: [’*.jar’], dir: ‘libs’)
implementation ‘com.android.support:appcompat-v7:28.0.0’
implementation ‘com.android.support.constraint:constraint-layout:1.1.3’
androidTestImplementation ‘com.android.support.test:runner:1.0.2’
implementation files(‘libs/com.skt.Tmap_1.63.jar’)
}

kotlin {
android(“android”)
// This is for iPhone emulator
// Switch here to iosArm64 (or iosArm32) to build library for iPhone device
iosX64(“ios”) {
binaries {
framework()
}
}
sourceSets {
commonMain {
dependencies {
implementation kotlin(‘stdlib-common’)
}
}
commonTest {
dependencies {
implementation kotlin(‘test-common’)
implementation kotlin(‘test-annotations-common’)
}
}
androidMain {
dependencies {
implementation kotlin(‘stdlib’)
}
}
androidTest {
dependencies {
implementation kotlin(‘test’)
implementation kotlin(‘test-junit’)
}
}
iosMain {
}
iosTest {
}
}
}

// This task attaches native framework built from ios module to Xcode project
// (see iosApp directory). Don’t run this task directly,
// Xcode runs this task itself during its build process.
// Before opening the project from iosApp directory in Xcode,
// make sure all Gradle infrastructure exists (gradle.wrapper, gradlew).
task copyFramework {
def buildType = project.findProperty(‘kotlin.build.type’) ?: ‘DEBUG’
def target = project.findProperty(‘kotlin.target’) ?: ‘ios’
dependsOn kotlin.targets."$target".binaries.getFramework(buildType).linkTask

doLast {
    def srcFile = kotlin.targets."$target".binaries.getFramework(buildType).outputFile
    def targetDir = getProperty('configuration.build.dir')
    copy {
        from srcFile.parent
        into targetDir
        include 'app.framework/**'
        include 'app.framework.dSYM'
    }
}

}

0 Likes

#3

안녕하세요.

T map API 운영담당자입니다.

현재 Tmap API 가이드 페이지 에서 제공 해드리고 있는 언어 이외의
문의는 가이드 해드릴수 없는점 양해 바랍니다.

감사합니다.

0 Likes