国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用android studio將網(wǎng)站打包成apk(可以直接使用替換為自己的網(wǎng)站連接即可)

這篇具有很好參考價值的文章主要介紹了使用android studio將網(wǎng)站打包成apk(可以直接使用替換為自己的網(wǎng)站連接即可)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

公司有這個需求生成一個webapp應(yīng)用。前面一直在使用web與Android混合開發(fā),越是后面你就發(fā)現(xiàn)越有意思。hbuildX官網(wǎng)不怎么維護,雖然一直說這是潮流,uni-app開發(fā)也挺火的,但是安卓開發(fā)特別是適配不同的手機型號,真的是頭大。

這是一個適用于Android Studio的模板項目,可讓你在幾分鐘內(nèi)創(chuàng)建一個android webview應(yīng)用程序。你可以使用它為您的網(wǎng)站創(chuàng)建一個簡單的應(yīng)用程序,或作為基于 HTML5 的 android 應(yīng)用程序的起點。

就拿百度的連接來說吧。這個是mainActivity的一個代碼。以代碼注釋的一種方式就行了。

public class MainActivity extends Activity {

    //private WebView mWebView;
    private static final String TAG = MainActivity.class.getSimpleName();
    WebView webview;

    String url = "https://www.baidu.com/";  //云端,把這個連接就行一個替換成你得就行了。

    @Override
    @SuppressLint({"SetJavaScriptEnabled", "MissingInflatedId"})
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        webview = (WebView) findViewById(R.id.activity_main_webview);
        webview.setWebViewClient(new WebViewClient(){
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error){
                Log.e("tag"," SslError="+error);
                //證書信任
                handler.proceed();
            }
        });

        setUpWebViewDefaults(webview);


        WebSettings settings = webview.getSettings();
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            settings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
        }
        settings.setCacheMode(WebSettings.LOAD_NO_CACHE);
//支持js
        settings.setJavaScriptEnabled(true);

        settings.setUserAgentString("Mozilla/5.0 (android; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.109 Safari/537.36");
        //settings.setUserAgentString("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.134 Safari/537.36");
//自適應(yīng)屏幕
        settings.setUseWideViewPort(true);
        settings.setLoadWithOverviewMode(true);
//自動縮放
        settings.setBuiltInZoomControls(true);
        settings.setSupportZoom(true);
        settings.setDomStorageEnabled(true);
        settings.setBlockNetworkImage(false);
        settings.setUseWideViewPort(true);
        settings.setLoadWithOverviewMode(true);
//支持獲取手勢焦點
        webview.requestFocusFromTouch();
        // REMOTE RESOURCE
        //mWebView.loadUrl("https://github.com/");
        //mWebView.loadUrl(url);

        webview.setWebChromeClient(new WebChromeClient(){

            @Override
            public boolean onConsoleMessage(ConsoleMessage cm) {  //在Logcat中顯示瀏覽器的控制臺輸出
                Log.d("MyApplication", cm.message() + " -- From line "
                        + cm.lineNumber() + " of "
                        + cm.sourceId() );
                return true;
            }

           // @TargetApi(Build.VERSION_CODES.LOLLIPOP)
            @Override
            //解決打不開webrtc攝像頭的問題;有一點十分重要需要手動在安卓權(quán)限中允許攝像頭權(quán)限
            public void onPermissionRequest(final PermissionRequest request) {
                request.grant(request.getResources());
            }
        });
        webview.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url); // 根據(jù)傳入的參數(shù)再去加載新的網(wǎng)頁
                return true; // 表示當前WebView可以處理打開新網(wǎng)頁的請求,不用借助系統(tǒng)瀏覽器
            }

            @Override
            public void onPageFinished(WebView view, String url) {
                super.onPageFinished(view, url);
                view.loadUrl("javascript:function ganen(){ document.getElementsByTagName('meta')['viewport'].content='width=1000px,initial-scale=0.5,minimum-scale=0.2;'}");
                view.loadUrl("javascript:ganen();");
            }

        });


        webview.setWebViewClient(new WebViewClient() {  //解決https 不安全的顯示問題
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
//                super.onReceivedSslError(view, handler, error);
                //handler.cancel();// super中默認的處理方式,WebView變成空白頁
                if (handler != null) {
                    handler.proceed();//忽略證書
                }
            }
        });

        webview.getSettings().setMediaPlaybackRequiresUserGesture(false); //讓攝像頭自動播放
        webview.loadUrl(url);

        webview.setWebChromeClient(new WebChromeClient() {
            @Override
            public void onPermissionRequest(final PermissionRequest request) {
                Log.d(TAG, "onPermissionRequest");
                MainActivity.this.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        if(request.getOrigin().toString().equals(url)) {
                            request.grant(request.getResources());
                        } else {
                            request.deny();
                        }
                    }
                });
            }

        });

        //mWebView.loadUrl("https://www.cncwww.cn:9944/call.html");
        // LOCAL RESOURCE
        // mWebView.loadUrl("file:///android_asset/index.html");
    }

    @Override
    public void onBackPressed() {
        if(webview.canGoBack()) {
            webview.goBack();
        } else {
            super.onBackPressed();
        }
    }

    /**
     * Convenience method to set some generic defaults for a
     * given WebView
     *
     * @param webView
     */
    private void setUpWebViewDefaults(WebView webView) {
        WebSettings settings = webView.getSettings();

        // Enable Javascript
        settings.setJavaScriptEnabled(true);

        // Use WideViewport and Zoom out if there is no viewport defined
        settings.setUseWideViewPort(true);
        settings.setLoadWithOverviewMode(true);

        // Enable pinch to zoom without the zoom buttons
        settings.setBuiltInZoomControls(true);

        // Allow use of Local Storage
        settings.setDomStorageEnabled(true);

        if(Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) {
            // Hide the zoom controls for HONEYCOMB+
            settings.setDisplayZoomControls(false);
        }

        // Enable remote debugging via chrome://inspect
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
            WebView.setWebContentsDebuggingEnabled(true);
        }

        webView.setWebViewClient(new WebViewClient());

        // AppRTC requires third party cookies to work
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptThirdPartyCookies(webview, true);
    }
}

然后按照步驟進行一個打包,就行了。
網(wǎng)站打包成apk,android studio,android,ide
網(wǎng)站打包成apk,android studio,android,ide
注意:這里需要keystore文件才能打包,我是用jdK1.8生成的。然后已經(jīng)放項目里面了。
網(wǎng)站打包成apk,android studio,android,ide
網(wǎng)站打包成apk,android studio,android,ide
網(wǎng)站打包成apk,android studio,android,ide

關(guān)于:test.keystore

key store password: test123
key alias: test
key password: test123

把這個地址連接換成你的即可。
網(wǎng)站打包成apk,android studio,android,ide
缺點:
還沒有做一個開屏動畫,因為我沒有一個素材,打開的,白屏?xí)悬c久。后面找時間研究一下。
github地址:https://github.com/wskang12138/webapp文章來源地址http://www.zghlxwxcb.cn/news/detail-736030.html

到了這里,關(guān)于使用android studio將網(wǎng)站打包成apk(可以直接使用替換為自己的網(wǎng)站連接即可)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • android studio 打包簽名apk時報kotlin版本錯誤

    android studio 打包簽名apk時報kotlin版本錯誤

    報錯信息如下: /Users/abbb/Library/Android/sdk/caches/transforms-3/572ca993caa0789f4046529ddf3eacd2/transformed/jetified-BaseRecyclerViewAdapterHelper-4.0.1/jars/classes.jar!/META-INF/com.github.CymChad.brvah.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.8.0, expected version is 1.6.

    2024年01月25日
    瀏覽(30)
  • 最新解決Android Studio打包沒有Generate Signed Bundle/APK選項

    最新解決Android Studio打包沒有Generate Signed Bundle/APK選項

    在開發(fā)React native安裝Android Studio時,出現(xiàn)了一些問題,沒有Generate Signed Bundle/APK打包選項. 在網(wǎng)上查很多都是點擊File,選擇Sync Project with Gradle Files,我這邊設(shè)置無效。 最終通過一系列配置才顯示出來。 1、Node.js環(huán)境 檢查是否有安裝nodejs 2、JDK JDK(Java Development Kit)是 Java 開發(fā)套

    2024年02月08日
    瀏覽(25)
  • flutter開發(fā)實戰(zhàn)-打包應(yīng)用apk簽名及Android studio沒有g(shù)enerate signed bundle/apk問題修改

    flutter開發(fā)實戰(zhàn)-打包應(yīng)用apk簽名及Android studio沒有g(shù)enerate signed bundle/apk問題修改

    flutter開發(fā)實戰(zhàn)-打包應(yīng)用apk簽名及Android studio沒有g(shù)enerate signed bundle/apk問題修改 最近使用flutter開發(fā)項目,需要將打包應(yīng)用時候apk進行簽名,我這邊開發(fā)使用的是Android studio,發(fā)現(xiàn)在Android studio的build沒有g(shù)enerate signed bundle/apk。這里記錄一下問題修改,以及生產(chǎn)簽名文件及gradle配置

    2024年02月08日
    瀏覽(30)
  • 用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨詳細避坑

    用 Android Studio 打包 uni-app 的安卓apk;手把手教程、巨詳細避坑

    Uni-app 離線打包 apk 1. Android Studio 下載 Android Studio官網(wǎng) 2. HBuilderX下載 HBuilderX下載 3. App離線SDK下載 Android 離線SDK - 正式版 下載后解壓文件,將 HBuilder-Integrate-AS 重命名 build-template 并拷貝到一個專門打包用的文件夾下作為打包模板 該文件夾中有一個 simpleDemo 文件夾 即 build-temp

    2024年02月04日
    瀏覽(85)
  • Unity打包APK錯誤:‘a(chǎn)ndroid.enableR8‘選項已被棄用,不應(yīng)再使用

    Unity打包APK錯誤:\\\'android.enableR8’選項已被棄用,不應(yīng)再使用 在Unity游戲開發(fā)中,我們經(jīng)常需要將游戲打包成APK文件以在Android設(shè)備上進行測試或發(fā)布。然而,有時候在打包APK的過程中,可能會遇到一些錯誤。其中一個常見的錯誤是 “The option ‘a(chǎn)ndroid.enableR8’ is deprecated and sh

    2024年02月08日
    瀏覽(93)
  • Android 源碼修改,使第三方應(yīng)用可以直接使用su命令

    ? ? 在android原生系統(tǒng)中,只有root權(quán)限和shell權(quán)限下才可以使用su命令,雖然在userdebug模式下編譯的系統(tǒng)鏡像有自帶的su文件,但是第三方應(yīng)用卻無法使用。于是在這種場景下,有兩種方式可以實現(xiàn)第三方應(yīng)用使用su命令。 ? ? 1.修改原來的su相關(guān)的源碼(所有的應(yīng)用都可以使用

    2024年02月09日
    瀏覽(110)
  • uniapp離線打包(使用Android studio打包)

    uniapp離線打包(使用Android studio打包)

    安裝HbuilderX,記住版本號 下載對應(yīng)HbuilderX版本的Android離線SDK,如我使用3.6.18版本打包,則對應(yīng)應(yīng)下載3.6.18版本的SDK(官網(wǎng)不提供舊版本的SDK,有些需要自己找)官網(wǎng)下載地址:https://nativesupport.dcloud.net.cn/AppDocs/download/android.html 安裝Android Studio 1.使用HbuilderX生成本地打包App字段

    2024年03月12日
    瀏覽(23)
  • Android APK 簽名打包原理分析(一)【APK結(jié)構(gòu)分析】

    最近在看AOSP Apk安裝的相關(guān)源碼時,發(fā)現(xiàn)自己對這塊知識一直停留到用的層面,并未有深入的了解,例如打包的具體過程、簽名的具體過程、渠道打包,最重要的,自己這幾年在做系統(tǒng)方面的應(yīng)用時,也解決過很多apk 安裝的問題,修改過部分的系統(tǒng)源碼,可是沒有把這塊知識

    2024年02月02日
    瀏覽(26)
  • uniapp使用Android Studio離線打包

    uniapp使用Android Studio離線打包

    Android Studio: 下載地址 APP離線SDK下載: 下載地址; 目前我使用得是“Android-SDK@3.8.7.81902_20230704”;需要與hbuider版本配套使用。 Appkey: 參考我 以上三步準備好后,進行接下來的不?。?導(dǎo)入APP離線SDK到 Android Studio 配置Appkey 打開Androidmanifest.xml, 導(dǎo)航到Application節(jié)點,創(chuàng)建meta-d

    2024年02月01日
    瀏覽(20)
  • Android中的APK打包與安全

    Android中的APK打包與安全

    apk文件結(jié)構(gòu) classes.dex:Dex,即Android Dalvik執(zhí)行文件 AndroidManifest.xml:工程中AndroidManifest.xml編譯后得到的二進制xml文件 META-INF:主要保存各個資源文件的SHA1 hash值,用于校驗資源文件是否被篡改,防止二次打包時資源文件被替換,該目錄下主要包括下面三個文件: MANIFEST.MF:保

    2024年02月11日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包