No installed build tools found. Install the Android build tools version
有时候,新电脑编译apk的时候会报这些错,这其实都是环境变量没配置好导致的
首先先找到自己的sdk安装位置

打开环境变量配置


%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
修改完终端记得关闭下软件再重新打开才可以生效,当然直接重启电脑也是没问题的
No installed build tools found. Install the Android build tools version
有时候,新电脑编译apk的时候会报这些错,这其实都是环境变量没配置好导致的
首先先找到自己的sdk安装位置
打开环境变量配置
%ANDROID_HOME%\platform-tools
%ANDROID_HOME%\tools
修改完终端记得关闭下软件再重新打开才可以生效,当然直接重启电脑也是没问题的
在angular 4 之后,ngIf 指令可以这样使用
<div *ngIf="flag">flag为真</div>
<div *ngIf="!flag">flag为假</div>
//不少人是这样用的
//实际上可以这样写
<div *ngIf="flag;else other">
flag为真
</div>
<ng-template #other>flag为假</ng-template>
//还可以这样写
<div *ngIf="flag;then flagtrue else flagfalse">随便写点什么</div>
<ng-template #flagtrue > flag为真</ng-template>
<ng-template #flagfalse>flag为假</ng-template>
//单独then也是可以的
ionic cordova build android –prod –release
参考:
https://ionicframework.com/docs/v3/cli/cordova/run/
jarsigner -verbose -keystore 密钥名称 -signedjar sipts_signed.apk app-release-unsigned.apk tzsb.keystore
jarsigner -verbose -keystore android.keystore -signedjar Last_gongs_sign.apk Before_sign.apk android.keystore
1)jarsigner是工具名称,-verbose表示将签名过程中的详细信息打印出来,显示在dos窗口中;
2)-keystore android.keystore 表示签名所使用的数字证书和所在位置,这里没有写路径,表示在当前目录下;
3)-signedjar Last_gongs_sign.apk Before_sign.apk 表示给 Before_sign.apk文件签名,签名后的文件名称为Last_gongs_sign.apk;
4)最后面的android.keystore 表示证书的别名
zipalign -f -v 4 Last_gongs_sign .apk XXX.apk
zipalign 简单的压缩优化APP代码 最后生成
XXX.apk 的包
背景:安卓中的 webView 要求实现 内嵌的 js 调用 安卓APP的方法 与并且支持安卓回调js代码 来实现。
WebView部分
webView.addJavascriptInterface(new JsInterface(this), "AndroidWebView"); //重要的
Java部分
@SuppressLint({“SetJavaScriptEnabled”, “AddJavascriptInterface”})
class JsInterface {
private Context mContext;
public JsInterface(Context context) {
this.mContext = context;
}
@JavascriptInterface
public String getName(){
return getUser();
}
@JavascriptInterface
public String getPass(){
return getPass();
}
Js部分
function loading(){
var name=window.AndroidWebView.getName()
var pass=window.AndroidWebView.getPass()//调用java方法
$.post(“101.111.11:800”,{remark:name,password:pass},function(result){
var obj=result;
if(obj.code==100){
toast(“登录成功”);
}else{
toast(“登录失败”);
}
});
}
来源: https://blog.csdn.net/u014548562/article/details/77916409
以上是我看博客的时候看到的,在angular中 我直接在html中写,发现不可以传变量过去,
例如:
<input onclick=”window.callJava.functionz(‘string’)”></input>
<input onclick=”window.callJava.functionz(parmString.toSring())”></input>
后来发现需要在ts代码中这样使用才可以。
相关文章链接:
1.Java执行JavaScript代码http://www.jb51.net/article/81577.htm
2.JAVA执行javascript方法http://blog.csdn.net/jianggujin/article/details/51046122
3.如何在java中调用js方法http://www.cnblogs.com/langtianya/archive/2012/09/18/2690860.html
<ion-avatar item-start><img src=”图片地址”></ion-avatar>
<ion-thumbnail item-end><img src=”图片地址”></ion-thumbnail>
ionic4的话 参考这篇文章
<一句话教程>不要使用angular的管道,特别是列表中,推荐使用
{{CrtDate.substr(0,10)}}
替换
ionic3 如何禁用ios的滑动返回 只需要一行
IonicModule.forRoot(App, {tabsHideOnSubPages:’true’,//在子页面隐藏底部菜单swipeBackEnabled:false,//禁用ios的滑动返回}
ionic start myApp tabs --type=angular
启动白屏可以config.xml添加这个手动控制转圈圈的关闭
然后
app.component.ts中添加
platform.ready().then(() => {
(window).navigator.splashscreen.hide();
}
在准备就绪后手动关闭
设置超时时间 防止应用挂
<preference name=”SplashScreenDelay” value=”10000″/>
<preference name=”loadUrlTimeoutValue” value=”700000″/>
最重要的使用这个参数
ionic build android --prod --release
最后
通过抓包工具分析加载的时候下载了哪些包,外部JS等可以下载放在本地,可以有效降低用户网不好导致的启动慢
参考:https://blog.csdn.net/u010564430/article/details/61201769