二次開発中、GizwitsプラットフォームのAndroidソースコードをAndroid Studioで実行できない

解決策:GizwitsプラットフォームのAndroidソースコードは、二次開発中にAndroid Studioで実行できません

1.現象

必要な関数コードパッケージを生成するためのGizwitsクラウドプラットフォームの助けを借りて、ほぼゼロのAndroid開発知識に基づいて、学習ニーズのため。ただし、Android Studio(バージョン3.6)にインポートすると実行できず、[ 実行]ボタンが灰色になり、[構成の編集]ボックスに項目がないという現象が発生します。

2.段階的に変更する

2.1。初めてファイルを開いたとき、次の図に示すように、ファイルはロード状態にあります:
ここに画像の説明を挿入
同期がダウンロード状態になっているので、フルークを待たないでください。

理由:jcenterへの国内アクセスが遅すぎる、または接続できない場合でも、依存する更新の失敗に関するさまざまなエラーが報告されます。過去にはoschina(つまり、オープンソースの中国)がjcenterミラーアドレスを提供していましたが、残念ながら、さまざまな理由により、このサービスは最近廃止されました。

解決策:https://blog.csdn.net/ScarletMeCarzy/article/details/78471446
ヒント:変更が完了したら、ASを終了して再入力します。

以下は私の変更したコードです:

ファイルの場所build.gradle(アプリフォルダーではなくAndroidStudioフォルダーにあります)
注:コード:クラスパスの3.6.0 'com.android.tools.build:gradle:3.6.0'は2.2で説明されており、マシンごとに異なります(ソフトウェアは自動的に変更されます) )。

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2.2 Gradleのバージョンマッチングの問題(長い間ここで立ち往生しています)(この手順を完了すると灰色のボタンが操作可能になります)
これは重要な手順です。次の公式Webサイトでは、gradleプラグイン(tools.build)とgradleのバージョン番号の対応を確認できます
。https ://developer.android.google.cn/studio/releases/gradle-plugin#updating-plugin
説明:インターネット上の他の場所私が見つけたソリューションはすべて手動でダウンロードされましたが、オンラインで言ったことに従ってダウンロードした後も同期エラーが発生します:
プラグインの適用に失敗しました[id 'com.android.application']
最終的なソリューションは次のとおりです:ファイルを開く-プロジェクト構造を選択し、許可するバージョンを選択自動コンピューターダウンロード(最初のステップでAlibaba Cloudイメージに切り替えられているため、ダウンロード速度が速くなります)

次の図は私の対応です(NDKのパスはデフォルトでは設定されていないため、自分で設定する必要があります):
ここに画像の説明を挿入
ここに画像の説明を挿入
2.3上記の2つの手順を実行して、同期コンパイルが成功し、USBを携帯電話に接続して(携帯電話がUSBデバッグモードを開きます)、クリックして実行します。警告が表示されます
ここに画像の説明を挿入
。この警告は無視できません。無視すると、モバイルアプリがフラッシュバックします。
理由:構成ファイルのAPIの有効期限が切れているため、期限切れのAPIを変更する必要があります。
参照:https://blog.csdn.net/weixin_40845165/article/details/89213528
参照:https://blog.csdn.net/weixin_44135826/article/details/105201233?fps=1&locationNum=2
以下は私のコードです:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 25
    buildToolsVersion '29.0.3'     //这里是我下载的工具版本,看自己android studio下载的什么版本,最后会讲在哪里看自己的buildTools版本
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        applicationId "com.gizwits.opensource.appkit"
        minSdkVersion 16
        targetSdkVersion 25
        versionCode 1
        versionName "2.5.1.072715"
        multiDexEnabled true
        ndk {
            abiFilters "armeabi-v7a", "x86", "armeabi"
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:appcompat-v7:25.3.1'
    implementation files('libs/BLEasyConfig.jar')
    implementation files('libs/easylink2.0.jar')
    implementation files('libs/GizWifiSDK.jar')
    implementation files('libs/jpush-android-2.1.5.jar')
    implementation files('libs/Lark7618SDK_noudp1606031910_0101.jar')
    implementation files('libs/libammsdk.jar')
    implementation files('libs/libForEElink.jar')
    implementation files('libs/LSFSK_1.0.jar')
    implementation files('libs/ltlink2.jar')
    implementation files('libs/mta-sdk-1.6.2.jar')
    implementation files('libs/OneShotConfig.jar')
    implementation files('libs/open_sdk_r5756.jar')
    implementation files('libs/pushservice-5.6.0.30.jar')
    implementation files('libs/simpleconfigwizardlib.jar')
    implementation files('libs/xUtils-2.6.14.jar')
    implementation files('libs/zxing.jar')
    implementation 'com.android.support:design:25.3.1'
    implementation 'com.yanzhenjie:permission:1.0.5'
}

2.4変更後にエラーを再度実行する:
ここに画像の説明を挿入
理由:低いバージョンのエラー
解決策:下の図に示すように、AndroidManifest.xmlファイルの6行目をコメント化します(コードにカーソルを移動し、Ctrl + /を押してコメント化します)。
ここに画像の説明を挿入

要約すると、成功。

3.参考文献と感謝

この記事は主に著者のCS 抜本的な修道士の記事を参照しています。解決策:Gizwits SOCスキームの元のAndroidコードを変更すると、Android仮想マシンがGizwits APPを正常に実行します。

オリジナルの記事を公開 Like1 Visits 27

おすすめ

転載: blog.csdn.net/qq_42457131/article/details/105531865