не удалось найти "libsapjco3.so" - PullRequest
0 голосов
/ 28 января 2019

У меня проблема при подключении к SAP при использовании sapjco.Вот сообщение об ошибке:

java.lang.ExceptionInInitializerError: Сбой инициализации JCo с java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader [DexPathList [[zip-файл »/ data / app / com.example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw == / base.apk ", zip-файл" /data/app/com.example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw==/split_lib_dependencies_ap, data / appip. "файл".example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw == / split_lib_resources_apk.apk ", zip-файл" /data/app/com.example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw==/split_k.jp, data_com_s_s_sap_lib "data_lib"example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw == / split_lib_slice_1_apk.apk ", zip-файл" /data/app/com.example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw=/ / zk. app_lib_d_p_d_setup_lib_d_p_d_setup_liv_lib_d_p_d_setup_lib_d_p_d_s_p_d_px_p_d_s_p_d_s_p_d_px_px_px_px_pl_ru_pl_ru_pl_ru_pl_ru_pl_ru_pl_png_d_p_p_l_ru_d_p_p_l_ru_pl_png_file_p_p_p_pl_ru_pl_ru_pl_png_d_p_px_pl_ru_pl_png_p_d_ruexample.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw == / split_lib_slice_3_apk.apk ", zip-файл" /data/app/com.example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw=//lp.kp_d_d_p_d_setup_lib_d_p_d_setup_lib_d_p_d_setup_liv_d_file_lib_d_setup_liv_d_file_d_setup_p_d_s_p_d_p_p_pl_ru_pk_pl_ru_pk_pl_ru_pl_ru_pl_ru_pl_ru_pl_ru_pl_ru_pl_ru_pl_ru_pl_ru_png_d_p_p_pl_ru_pl/example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw == / split_lib_slice_5_apk.ecowb-IFzEAhc8t47wbNTPHHT6kw == / split_lib_slice_7_apk.apk ", zip-файл" /data/app/com.example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw==/split_lib_ex.pap.yp.exe "ecowb-IFzEAhc8t47wbNTPHHT6kw == / split_lib_slice_9_apk.apk "], nativeLibraryDirectories = [/ data / app / com.example.ecowb.ecowb-IFzEAhc8t47wbNTPHHT6kw == / system] ]6464 lib64 armне удалось найти "libsapjco3.so"

, и это мой проект:

MainActivity.Java

package com.example.ecowb.ecowb;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;

import com.sap.conn.jco.AbapException;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoDestinationManager;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoTable;

import net.sf.json.JSON;
import net.sf.json.xml.XMLSerializer;

public class MainActivity extends AppCompatActivity {

static String ABAP_AS = "ABAP_AS_WITHOUT_POOL";
public static String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL";
static String ABAP_MS = "ABAP_MS_WITHOUT_POOL";
static boolean alreadyRegister;
private android.content.Context context;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    if (this.alreadyRegister == true) {
        return;
    }

    CustomDestinationDataProvider.MyDestinationDataProvider myProvider = new CustomDestinationDataProvider.MyDestinationDataProvider();

    try {
        com.sap.conn.jco.ext.Environment.registerDestinationDataProvider(myProvider);
        alreadyRegister = true;
    } catch (IllegalStateException providerAlreadyRegisteredException) {
        throw new Error(providerAlreadyRegisteredException);
    }

    // CustomDestinationDataProvider test = new
    // CustomDestinationDataProvider();
    myProvider.changeProperties(ABAP_AS_POOLED, CustomDestinationDataProvider.getDestinationPropertiesFromUI());

    JCoDestination destination = null;
    try {
        destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED);
    } catch (JCoException e) {
        e.printStackTrace();
    }
    System.out.println("Attributes:");
    try {
        System.out.println(destination.getAttributes());
    } catch (JCoException e) {
        e.printStackTrace();
    }
    System.out.println();

}

И этомой Gradle:

build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 26
    defaultConfig {
        applicationId "com.example.ecowb.ecowb"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

    ndk {
        moduleName "libsapjco3"

    }
}
buildTypes {
    release {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi'
        universalApk true
    }
}
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation fileTree(include: 'native-libs.jar', dir: '$buildDir/native-libs')
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.android.support:design:27.1.1'
    implementation files('libs/json-lib-2.4-jdk15.jar')
    implementation files('libs/sapjco3.09.jar')
}

1 Ответ

0 голосов
/ 30 января 2019

SAP Java Connector версии для Android или архитектуры процессора ARM не существует.

...